Skip to content

Commit

Permalink
Merge pull request #114 from Adyen/develop
Browse files Browse the repository at this point in the history
Release 3.0.2
  • Loading branch information
AlexandrosMor committed Jun 20, 2019
2 parents b014f5c + 159783b commit e787995
Show file tree
Hide file tree
Showing 12 changed files with 113 additions and 33 deletions.
6 changes: 3 additions & 3 deletions Adyen.Test/Adyen.Test.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

<IsPackable>false</IsPackable>

<AssemblyVersion>3.0.1</AssemblyVersion>
<AssemblyVersion>3.0.2</AssemblyVersion>

<FileVersion>3.0.1</FileVersion>
<FileVersion>3.0.2</FileVersion>

<Version>3.0.1</Version>
<Version>3.0.2</Version>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
Expand Down
30 changes: 29 additions & 1 deletion Adyen.Test/CheckoutTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,24 @@ namespace Adyen.Test
[TestClass]
public class CheckoutTest : BaseTest
{
/// <summary>
/// Tests successful checkout client Test URL generation.
/// </summary>
[TestMethod]
public void CheckoutEndpointTestEnvironmentSuccessTest()
{
var config = new Config();
var client = new Client(config);
client.SetEnviroment(Model.Enum.Environment.Test, "companyUrl");
Assert.AreEqual(config.CheckoutEndpoint, @"https://checkout-test.adyen.com");
Assert.AreEqual(config.Endpoint, @"https://pal-test.adyen.com");
}

/// <summary>
/// Tests successful checkout client Live URL generation.
/// </summary>
[TestMethod]
public void CheckoutEndpointTest()
public void CheckoutEndpointLiveEnvironmentSuccessTest()
{
var config = new Config();
var client = new Client(config);
Expand All @@ -21,6 +37,18 @@ public void CheckoutEndpointTest()
Assert.AreEqual(config.Endpoint, @"https://companyUrl-pal-live.adyenpayments.com");
}

/// <summary>
/// Tests unsuccessful checkout client Live URL generation.
/// </summary>
[TestMethod]
[ExpectedException(typeof(InvalidOperationException), "Missing liveEndpointUrlPrefix for endpoint generation")]
public void CheckoutEndpointLiveErrorTest()
{
var config = new Config();
var client = new Client(config);
client.SetEnviroment(Model.Enum.Environment.Live);
}

/// <summary>
/// Test success flow for
/// POST /payments
Expand Down
43 changes: 35 additions & 8 deletions Adyen.Test/CloudApiPosRequestTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,20 +51,23 @@ public void TestCloudApiAsyncRequest()
public void TestCloudApiTransactionStatusResponseSuccess()
{
var paymentRequest = MockPosApiRequest.CreatePosPaymentRequest();
var client = CreateMockTestClientPosCloudApiRequest("Mocks/terminalapi/pospayment-transaction-status-response.json");
var client =
CreateMockTestClientPosCloudApiRequest("Mocks/terminalapi/pospayment-transaction-status-response.json");
var payment = new PosPaymentCloudApi(client);
var saleToPoiResponse = payment.TerminalApiCloudSync(paymentRequest);

try
{
var transactionStatusResponse = (TransactionStatusResponse)saleToPoiResponse.MessagePayload;
var messagePayloadResponse = transactionStatusResponse.RepeatedMessageResponse.RepeatedResponseMessageBody.MessagePayload;
var transactionStatusResponse = (TransactionStatusResponse) saleToPoiResponse.MessagePayload;
var messagePayloadResponse = transactionStatusResponse.RepeatedMessageResponse
.RepeatedResponseMessageBody.MessagePayload;
Assert.IsNotNull(saleToPoiResponse);
Assert.AreEqual(saleToPoiResponse.MessageHeader.ServiceID, "35543420");
Assert.AreEqual(saleToPoiResponse.MessageHeader.SaleID, "TOSIM_1_1_6");
Assert.AreEqual(saleToPoiResponse.MessageHeader.POIID, "P400Plus-12345678");
Assert.AreEqual(transactionStatusResponse.Response.Result, ResultType.Success);
Assert.AreEqual(messagePayloadResponse.PaymentResult.PaymentInstrumentData.CardData.EntryMode[0], EntryModeType.ICC);
Assert.AreEqual(messagePayloadResponse.PaymentResult.PaymentInstrumentData.CardData.EntryMode[0],
EntryModeType.ICC);
Assert.AreEqual(messagePayloadResponse.POIData.POIReconciliationID, "1000");
}
catch (Exception)
Expand Down Expand Up @@ -98,22 +101,46 @@ public void TestCloudApiSyncErrorResponse()
{
//Create a mock pos payment request
var paymentRequest = MockPosApiRequest.CreatePosPaymentRequest();
var client = CreateMockTestClientPosCloudApiRequest("Mocks/terminalapi/pospayment-notification-error-response.json");
var client =
CreateMockTestClientPosCloudApiRequest(
"Mocks/terminalapi/pospayment-notification-error-response.json");
var payment = new PosPaymentCloudApi(client);
var saleToPoiResponse = payment.TerminalApiCloudSync(paymentRequest);
var messagePayload = (EventNotification)saleToPoiResponse.MessagePayload;
var messagePayload = (EventNotification) saleToPoiResponse.MessagePayload;
Assert.AreEqual(saleToPoiResponse.MessageHeader.MessageClass, MessageClassType.Event);
Assert.AreEqual(saleToPoiResponse.MessageHeader.MessageCategory, MessageCategoryType.Event);
Assert.AreEqual(saleToPoiResponse.MessageHeader.SaleID, "POSSystemID12345");
Assert.AreEqual(saleToPoiResponse.MessageHeader.POIID, "P400Plus-12345678");
Assert.AreEqual(messagePayload.EventToNotify,EventToNotifyType.Reject);
Assert.AreEqual(messagePayload.EventToNotify, EventToNotifyType.Reject);
}
catch (Exception)
{
Assert.Fail();
}
}



[TestMethod]
public void TestCloudApiDisplaySuccessResponse()
{
try
{
//Create a mock pos payment request
var paymentRequest = MockPosApiRequest.CreatePosPaymentRequest();
var client =
CreateMockTestClientPosCloudApiRequest(
"Mocks/terminalapi/display-response-success.json");
var payment = new PosPaymentCloudApi(client);
var saleToPoiResponse = payment.TerminalApiCloudSync(paymentRequest);
Assert.IsNotNull(saleToPoiResponse);
var response = (DisplayResponse)saleToPoiResponse.MessagePayload;
Assert.AreEqual(response.OutputResult[0].InfoQualify, InfoQualifyType.Display);
Assert.AreEqual(response.OutputResult[0].Device, DeviceType.CustomerDisplay);
}
catch (Exception)
{
Assert.Fail();
}
}
}
}
22 changes: 22 additions & 0 deletions Adyen.Test/Mocks/terminalapi/display-response-success.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"SaleToPOIResponse": {
"DisplayResponse": {
"OutputResult": [{
"Device": "CustomerDisplay",
"InfoQualify": "Display",
"Response": {
"Result": "Success"
}
}]
},
"MessageHeader": {
"ProtocolVersion": "3.0",
"SaleID": "POSSystemID12345Appie",
"MessageClass": "Device",
"MessageCategory": "Display",
"ServiceID": "20135010",
"POIID": "MX925-284691408",
"MessageType": "Response"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"threeds2.threeDS2ResponseData.acsURL": "https://pal-test.adyen.com/threeds2simulator/acs/challenge.shtml",
"threeds2.threeDS2ResponseData.threeDSServerTransID": "74044f6c-7d79-4dd1-9859-3b2879a32fb1",
"threeds2.threeDS2ResponseData.authenticationType": "01",
"threeds2.threeDS2ResponseData.messageVersion": "3.0.1",
"threeds2.threeDS2ResponseData.messageVersion": "3.0.2",
"threeds2.threeDS2Token": "[token]",
"threeds2.threeDS2ResponseData.acsTransID": "ba961c4b-33f2-4830-3141-744b8586aeb0",
"threeds2.threeDS2ResponseData.acsReferenceNumber": "ADYEN-ACS-SIMULATOR"
Expand Down
2 changes: 1 addition & 1 deletion Adyen.Test/PaymentTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public void TestAuthorise3DS2ChallengeShopperMocked()
Assert.AreEqual("https://pal-test.adyen.com/threeds2simulator/acs/challenge.shtml", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2ResponseData.acsURL"));
Assert.AreEqual("74044f6c-7d79-4dd1-9859-3b2879a32fb1", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2ResponseData.threeDSServerTransID"));
Assert.AreEqual("01", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2ResponseData.authenticationType"));
Assert.AreEqual("3.0.1", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2ResponseData.messageVersion"));
Assert.AreEqual("3.0.2", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2ResponseData.messageVersion"));
Assert.AreEqual("[token]", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2Token"));
Assert.AreEqual("ba961c4b-33f2-4830-3141-744b8586aeb0", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2ResponseData.acsTransID"));
Assert.AreEqual("ADYEN-ACS-SIMULATOR", GetAdditionalData(paymentResult.AdditionalData, "threeds2.threeDS2ResponseData.acsReferenceNumber"));
Expand Down
8 changes: 4 additions & 4 deletions Adyen/Adyen.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Copyright>Adyen</Copyright>
<Version>3.0.1</Version>
<AssemblyVersion>3.0.1</AssemblyVersion>
<FileVersion>3.0.1</FileVersion>
<Version>3.0.2</Version>
<AssemblyVersion>3.0.2</AssemblyVersion>
<FileVersion>3.0.2</FileVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Description>The Adyen API Library for .net core enables you to work with Adyen APIs, Hosted Payment Pages and terminal api with any .net application.</Description>
<PackageProjectUrl>https://github.com/Adyen/adyen-dotnet-api-library</PackageProjectUrl>
<RepositoryUrl>https://github.com/Adyen/adyen-dotnet-api-library</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>3.0.1</PackageTags>
<PackageTags>3.0.2</PackageTags>
<PackageLicenseUrl>https://github.com/Adyen/adyen-dotnet-api-library/blob/master/LICENSE</PackageLicenseUrl>
<Authors>Adyen</Authors>
<Company>Adyen</Company>
Expand Down
21 changes: 11 additions & 10 deletions Adyen/Client.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
using Adyen.Constants;
using System;
using Adyen.Constants;
using Adyen.HttpClient.Interfaces;
using Adyen.HttpClient;
using Adyen.Model.Enum;
using System.Net.Security;
using Adyen.Exceptions;
using Environment = Adyen.Model.Enum.Environment;

namespace Adyen
{
Expand Down Expand Up @@ -70,15 +71,15 @@ public void SetEnviroment(Environment environment, string liveEndpointUrlPrefix)
Config.CheckoutEndpoint = ClientConfig.CheckoutEndpointTest;
break;
case Environment.Live:
Config.Endpoint = ClientConfig.EndpointLive;
Config.HppEndpoint = ClientConfig.HppLive;
Config.CloudApiEndPoint = ClientConfig.CloudApiEndPointLive;
//set live endpoint for checkout api
if (!string.IsNullOrEmpty(liveEndpointUrlPrefix))
if (string.IsNullOrEmpty(liveEndpointUrlPrefix))
{
Config.Endpoint = ClientConfig.EndpointProtocol + liveEndpointUrlPrefix + ClientConfig.EndpointLiveSuffix;
Config.CheckoutEndpoint = ClientConfig.EndpointProtocol + liveEndpointUrlPrefix + ClientConfig.CheckoutEndpointLiveSuffix;
throw new InvalidOperationException(ExceptionMessages.MissingLiveEndpointUrlPrefix);
}

Config.Endpoint = ClientConfig.EndpointProtocol + liveEndpointUrlPrefix + ClientConfig.EndpointLiveSuffix;
Config.HppEndpoint = ClientConfig.HppLive;
Config.CloudApiEndPoint = ClientConfig.CloudApiEndPointLive;
Config.CheckoutEndpoint = ClientConfig.EndpointProtocol + liveEndpointUrlPrefix + ClientConfig.CheckoutEndpointLiveSuffix;
break;
}
}
Expand Down
2 changes: 1 addition & 1 deletion Adyen/Constants/ClientConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ public class ClientConfig
public static string NexoProtocolVersion = "3.0";

public static string LibName = "adyen-dotnet-api-library";
public static string LibVersion = "3.0.1";
public static string LibVersion = "3.0.2";
}
}
1 change: 1 addition & 0 deletions Adyen/Exceptions/ExceptionMessages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@ internal class ExceptionMessages
internal const string InvalidMessageType = "Invalid Message Type for the message: {0}";
internal const string TerminalErrorResponse = "Terminal Error Response: {0}";
internal const string ExceptionDuringDeserialization = "Exception during deserialization of object: {0}, Exception Message: {1}";
internal const string MissingLiveEndpointUrlPrefix = "Missing liveEndpointUrlPrefix for endpoint generation";
}
}
7 changes: 4 additions & 3 deletions Adyen/Model/Nexo/DisplayResponse.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
namespace Adyen.Model.Nexo
using Adyen.CloudApiSerialization;

namespace Adyen.Model.Nexo
{
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DisplayResponse
public partial class DisplayResponse : IMessagePayload
{

/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("OutputResult", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public OutputResult[] OutputResult;
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The Library supports all APIs under the following services:
* Simply download and restore nuget packages
https://www.nuget.org/packages/Adyen/
* or install it from package manager
PM> Install-Package Adyen -Version 3.0.1
PM> Install-Package Adyen -Version 3.0.2

## Documentation
* https://docs.adyen.com/developers/development-resources/libraries
Expand Down

0 comments on commit e787995

Please sign in to comment.