Skip to content

Commit 6be2e2b

Browse files
author
atseytli
committed
Updating controllers and tests
1 parent ab1924a commit 6be2e2b

File tree

6 files changed

+297
-0
lines changed

6 files changed

+297
-0
lines changed

src/main/java/net/authorize/api/contract/v1/ObjectFactory.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -767,6 +767,14 @@ public ARBGetSubscriptionListSorting createARBGetSubscriptionListSorting() {
767767
public Paging createPaging() {
768768
return new Paging();
769769
}
770+
771+
/**
772+
* Create an instance of {@link CreateCustomerProfileFromTransactionRequest }
773+
*
774+
*/
775+
public CreateCustomerProfileFromTransactionRequest createCreateCustomerProfileFromTransactionRequest() {
776+
return new CreateCustomerProfileFromTransactionRequest();
777+
}
770778

771779
/**
772780
* Create an instance of {@link AuthenticateTestRequest }
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package net.authorize.api.controller;
2+
3+
import net.authorize.api.contract.v1.CreateCustomerProfileFromTransactionRequest;
4+
import net.authorize.api.contract.v1.CreateCustomerProfileResponse;
5+
import net.authorize.api.controller.base.ApiOperationBase;
6+
7+
public class CreateCustomerProfileFromTransactionConroller
8+
extends ApiOperationBase<CreateCustomerProfileFromTransactionRequest,CreateCustomerProfileResponse> {
9+
10+
public CreateCustomerProfileFromTransactionConroller(
11+
CreateCustomerProfileFromTransactionRequest apiRequest) {
12+
super(apiRequest);
13+
}
14+
15+
16+
@Override
17+
protected void validateRequest() {
18+
CreateCustomerProfileFromTransactionRequest request = this.getApiRequest();
19+
20+
//validate required fields
21+
if ( null == request.getTransId()) throw new NullPointerException("TransId cannot be null");
22+
}
23+
24+
@Override
25+
protected Class<CreateCustomerProfileResponse> getResponseType() {
26+
return CreateCustomerProfileResponse.class;
27+
}
28+
}

src/test/java/net/authorize/UnitTestData.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package net.authorize;
22

3+
import java.io.FileInputStream;
34
import java.io.IOException;
45
import java.math.BigDecimal;
56
import java.net.MalformedURLException;
67
import java.net.URL;
78
import java.net.URLConnection;
9+
import java.util.Enumeration;
810
import java.util.HashMap;
911
import java.util.Properties;
1012

@@ -144,6 +146,21 @@ public abstract class UnitTestData {
144146
//protected UnitTestData()
145147
static
146148
{
149+
try{
150+
Properties props = new Properties();
151+
props.load(new FileInputStream("anet_java_sdk.properties"));
152+
Enumeration<Object> keys = props.keys();
153+
while(keys.hasMoreElements())
154+
{
155+
String key = keys.nextElement().toString();
156+
System.setProperty(key,props.getProperty(key.toString()));
157+
}
158+
}
159+
catch(Exception e)
160+
{
161+
e.printStackTrace();
162+
}
163+
147164
//getPropertyFromNames get the value from properties file or environment
148165
apiLoginID = getPropertyFromNames(Constants.ENV_API_LOGINID, Constants.PROP_API_LOGINID);
149166
transactionKey = getPropertyFromNames(Constants.ENV_TRANSACTION_KEY, Constants.PROP_TRANSACTION_KEY);
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package net.authorize.api.controller.mocktest;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
import junit.framework.Assert;
7+
import net.authorize.api.contract.v1.ANetApiResponse;
8+
import net.authorize.api.contract.v1.CreateCustomerProfileFromTransactionRequest;
9+
import net.authorize.api.contract.v1.CreateCustomerProfileResponse;
10+
import net.authorize.api.contract.v1.MessageTypeEnum;
11+
import net.authorize.api.controller.base.IApiOperation;
12+
import net.authorize.api.controller.test.ApiCoreTestBase;
13+
14+
import org.junit.After;
15+
import org.junit.AfterClass;
16+
import org.junit.Before;
17+
import org.junit.BeforeClass;
18+
import org.junit.Test;
19+
20+
public class CreateProfileFromTransactionConrollerTest extends ApiCoreTestBase {
21+
22+
@BeforeClass
23+
public static void setUpBeforeClass() throws Exception {
24+
ApiCoreTestBase.setUpBeforeClass();
25+
}
26+
27+
@AfterClass
28+
public static void tearDownAfterClass() throws Exception {
29+
ApiCoreTestBase.tearDownAfterClass();
30+
}
31+
32+
@Before
33+
public void setUp() throws Exception {
34+
super.setUp();
35+
}
36+
37+
@After
38+
public void tearDown() throws Exception {
39+
super.tearDown();
40+
}
41+
42+
@Test
43+
public void mockCreateProfileFromTransactionConrollerTest()
44+
{
45+
//define all mocked objects as final
46+
final IApiOperation<CreateCustomerProfileFromTransactionRequest, CreateCustomerProfileResponse> mockController =
47+
getMockController();
48+
49+
final CreateCustomerProfileFromTransactionRequest mockRequest =
50+
factory.createCreateCustomerProfileFromTransactionRequest();
51+
mockRequest.setRefId(refId);
52+
53+
54+
final CreateCustomerProfileResponse mockResponse = factory.createCreateCustomerProfileResponse();
55+
mockResponse.setCustomerProfileId("123");
56+
57+
final ANetApiResponse errorResponse = factory.createANetApiResponse();
58+
final List<String> results = new ArrayList<String>();
59+
final MessageTypeEnum messageTypeOk = MessageTypeEnum.OK;
60+
61+
setMockControllerExpectations(mockController, mockRequest, mockResponse, errorResponse, results, messageTypeOk);
62+
mockController.execute();
63+
CreateCustomerProfileResponse controllerResponse = mockController.getApiResponse();
64+
65+
Assert.assertNotNull(controllerResponse);
66+
Assert.assertEquals(mockResponse.getCustomerProfileId(),controllerResponse.getCustomerProfileId());
67+
logger.info(String.format("CreateProfileFromTransactionConroller: Details:%s", controllerResponse.getCustomerProfileId()));
68+
}
69+
}
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
package net.authorize.api.controller.sampletest;
2+
3+
import java.math.BigDecimal;
4+
5+
import org.junit.After;
6+
import org.junit.AfterClass;
7+
import org.junit.Assert;
8+
import org.junit.Before;
9+
import org.junit.BeforeClass;
10+
import org.junit.Test;
11+
12+
import net.authorize.api.contract.v1.CreateCustomerProfileFromTransactionRequest;
13+
import net.authorize.api.contract.v1.CreateCustomerProfileResponse;
14+
import net.authorize.api.contract.v1.CreateTransactionRequest;
15+
import net.authorize.api.contract.v1.CreateTransactionResponse;
16+
import net.authorize.api.contract.v1.CreditCardType;
17+
import net.authorize.api.contract.v1.CustomerDataType;
18+
import net.authorize.api.contract.v1.MessageTypeEnum;
19+
import net.authorize.api.contract.v1.PaymentType;
20+
import net.authorize.api.contract.v1.TransactionRequestType;
21+
import net.authorize.api.controller.CreateCustomerProfileFromTransactionConroller;
22+
import net.authorize.api.controller.CreateTransactionController;
23+
import net.authorize.api.controller.base.ApiOperationBase;
24+
import net.authorize.api.controller.test.ApiCoreTestBase;
25+
26+
public class CreateCustomerProfileFromTransactionTest extends ApiCoreTestBase {
27+
28+
@BeforeClass
29+
public static void setUpBeforeClass() throws Exception {
30+
ApiCoreTestBase.setUpBeforeClass();
31+
}
32+
33+
@AfterClass
34+
public static void tearDownAfterClass() throws Exception {
35+
ApiCoreTestBase.tearDownAfterClass();
36+
}
37+
38+
@Before
39+
public void setUp() throws Exception {
40+
super.setUp();
41+
}
42+
43+
@After
44+
public void tearDown() throws Exception {
45+
super.tearDown();
46+
}
47+
48+
@Test
49+
public void createCustomerProfileFromTransactionSample()
50+
{
51+
//Common code to set for all requests
52+
ApiOperationBase.setEnvironment(environment);
53+
ApiOperationBase.setMerchantAuthentication(cnpMerchantAuthenticationType);
54+
55+
CreateCustomerProfileFromTransactionRequest request = new CreateCustomerProfileFromTransactionRequest();
56+
request.setTransId(createTransactionAndReturnId());
57+
CreateCustomerProfileFromTransactionConroller createProfileController = new CreateCustomerProfileFromTransactionConroller(request);
58+
createProfileController.execute();
59+
CreateCustomerProfileResponse response = createProfileController.getApiResponse();
60+
61+
Assert.assertNotNull(response);
62+
Assert.assertEquals(MessageTypeEnum.OK, response.getMessages().getResultCode());
63+
Assert.assertFalse(response.getCustomerProfileId().isEmpty());
64+
}
65+
66+
private String createTransactionAndReturnId()
67+
{
68+
CreditCardType creditCard = new CreditCardType();
69+
creditCard.setCardNumber("4111111111111111");
70+
creditCard.setExpirationDate("0616");
71+
72+
PaymentType paymentType = new PaymentType();
73+
paymentType.setCreditCard(creditCard);
74+
75+
TransactionRequestType requestInternal = new TransactionRequestType();
76+
requestInternal.setTransactionType("authOnlyTransaction");
77+
requestInternal.setPayment(paymentType);
78+
requestInternal.setAmount(new BigDecimal(System.currentTimeMillis() % 100));
79+
80+
CustomerDataType customer = new CustomerDataType();
81+
customer.setEmail(System.currentTimeMillis()+"@b.bla");
82+
requestInternal.setCustomer(customer);
83+
84+
CreateTransactionRequest request = new CreateTransactionRequest();
85+
request.setTransactionRequest(requestInternal);
86+
87+
CreateTransactionController controller = new CreateTransactionController(request);
88+
controller.execute();
89+
90+
CreateTransactionResponse response = controller.getApiResponse();
91+
92+
return response.getTransactionResponse().getTransId();
93+
}
94+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package net.authorize.api.controller.sampletest;
2+
3+
import java.math.BigDecimal;
4+
5+
import org.junit.After;
6+
import org.junit.AfterClass;
7+
import org.junit.Assert;
8+
import org.junit.Before;
9+
import org.junit.BeforeClass;
10+
import org.junit.Test;
11+
12+
import net.authorize.api.contract.v1.CreateCustomerProfileFromTransactionRequest;
13+
import net.authorize.api.contract.v1.CreateCustomerProfileResponse;
14+
import net.authorize.api.contract.v1.CreateTransactionRequest;
15+
import net.authorize.api.contract.v1.CreateTransactionResponse;
16+
import net.authorize.api.contract.v1.CreditCardType;
17+
import net.authorize.api.contract.v1.CustomerDataType;
18+
import net.authorize.api.contract.v1.MessageTypeEnum;
19+
import net.authorize.api.contract.v1.MessagesType;
20+
import net.authorize.api.contract.v1.PaymentType;
21+
import net.authorize.api.contract.v1.TransactionRequestType;
22+
import net.authorize.api.controller.CreateCustomerProfileFromTransactionConroller;
23+
import net.authorize.api.controller.CreateTransactionController;
24+
import net.authorize.api.controller.base.ApiOperationBase;
25+
import net.authorize.api.controller.test.ApiCoreTestBase;
26+
import net.authorize.data.Customer;
27+
28+
public class CreateTransactionTest extends ApiCoreTestBase {
29+
30+
@BeforeClass
31+
public static void setUpBeforeClass() throws Exception {
32+
ApiCoreTestBase.setUpBeforeClass();
33+
}
34+
35+
@AfterClass
36+
public static void tearDownAfterClass() throws Exception {
37+
ApiCoreTestBase.tearDownAfterClass();
38+
}
39+
40+
@Before
41+
public void setUp() throws Exception {
42+
super.setUp();
43+
}
44+
45+
@After
46+
public void tearDown() throws Exception {
47+
super.tearDown();
48+
}
49+
50+
@Test
51+
public void createTransactionSample()
52+
{
53+
//Common code to set for all requests
54+
ApiOperationBase.setEnvironment(environment);
55+
ApiOperationBase.setMerchantAuthentication(cnpMerchantAuthenticationType);
56+
57+
CreditCardType creditCard = new CreditCardType();
58+
creditCard.setCardNumber("4111111111111111");
59+
creditCard.setExpirationDate("0616");
60+
61+
PaymentType paymentType = new PaymentType();
62+
paymentType.setCreditCard(creditCard);
63+
64+
TransactionRequestType requestInternal = new TransactionRequestType();
65+
requestInternal.setTransactionType("authOnlyTransaction");
66+
requestInternal.setPayment(paymentType);
67+
requestInternal.setAmount(new BigDecimal(System.currentTimeMillis() % 100));
68+
69+
CreateTransactionRequest request = new CreateTransactionRequest();
70+
request.setTransactionRequest(requestInternal);
71+
72+
CreateTransactionController controller = new CreateTransactionController(request);
73+
controller.execute();
74+
75+
CreateTransactionResponse response = controller.getApiResponse();
76+
77+
Assert.assertNotNull(response);
78+
Assert.assertEquals(MessageTypeEnum.OK, response.getMessages().getResultCode());
79+
Assert.assertFalse(response.getTransactionResponse().getTransId().isEmpty());
80+
}
81+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy