Completed
Pull Request — master (#36)
by
unknown
01:28
created

itTest.testauthCaptureTransaction()   A

Complexity

Conditions 1

Size

Total Lines 21

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 21
rs 9.3142
cc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A paymentTransactionUnitTest.testauthOnlyContinueTransaction() 18 18 1
1
'''
2
Created on Nov 16, 2015
3
4
@author: krgupta
5
'''
6
from authorizenet import apicontractsv1
7
from authorizenet.constants import constants
8
from authorizenet.apicontractsv1 import CTD_ANON
9
from authorizenet.apicontrollers import *
10
import datetime
11
import unittest
12
from tests import apitestbase
13
from authorizenet import utility
14
15
class test_ReadProperty(apitestbase.ApiTestBase):
16
    def testPropertyFromFile(self):
17
        login= utility.helper.getproperty("api.login.id")
18
        transactionkey = utility.helper.getproperty("transaction.key")
19
        self.assertIsNotNone(login)
20
        self.assertIsNotNone(transactionkey)
21
   
22
class test_TransactionReportingUnitTest(apitestbase.ApiTestBase):
23
    def testGetTransactionDetails(self):    
24
        gettransactiondetailsrequest = apicontractsv1.getTransactionDetailsRequest()
25
        gettransactiondetailsrequest.merchantAuthentication = self.merchantAuthentication
26
        gettransactiondetailsrequest.transId ='20000152262' #update valid transaction id
27
        gettransactiondetailscontroller = getTransactionDetailsController(gettransactiondetailsrequest)
28
        gettransactiondetailscontroller.execute()
29
        response =  gettransactiondetailscontroller.getresponse()
30
        self.assertEquals('Ok', response.messages.resultCode)    
31
        self.assertIsNotNone(response.transaction.payment.creditCard.cardNumber)  
32
         
33
class test_RecurringBillingTest(apitestbase.ApiTestBase):
34
    createdSubscriptionId = None
35
    
36
    def testCreateSubscription(self):
37
        createsubscriptionrequest = apicontractsv1.ARBCreateSubscriptionRequest()
38
        createsubscriptionrequest.merchantAuthentication = self.merchantAuthentication
39
        createsubscriptionrequest.refId = 'Sample'
40
        createsubscriptionrequest.subscription = self.subscriptionOne
41
        arbcreatesubscriptioncontroller = ARBCreateSubscriptionController(createsubscriptionrequest)
42
        arbcreatesubscriptioncontroller.execute()
43
        response = arbcreatesubscriptioncontroller.getresponse()
44
        #print ("Test named 'testCreateSubscription' has response.subscriptionId = %s" %response.subscriptionId)
45
        self.assertIsNotNone(response.subscriptionId)
46
        self.assertEquals('Ok', response.messages.resultCode)
47
        self.__class__.createdSubscriptionId = response.subscriptionId
48
  
49
    def testgetsubscription(self):
50
        getSubscription = apicontractsv1.ARBGetSubscriptionRequest()
51
        getSubscription.merchantAuthentication = self.merchantAuthentication
52
        getSubscription.subscriptionId = self.__class__.createdSubscriptionId #update valid subscription id 
53
        #getSubscription.subscriptionId = '3259321'
54
        getSubscriptionController = ARBGetSubscriptionController(getSubscription)
55
        getSubscriptionController.execute()
56
        response = getSubscriptionController.getresponse()
57
        self.assertIsNotNone(response.subscription.name)
58
        self.assertEquals('Ok', response.messages.resultCode) 
59
    
60
    def testcancelSubscription(self):   
61
        cancelsubscriptionrequest = apicontractsv1.ARBCancelSubscriptionRequest()
62
        cancelsubscriptionrequest.merchantAuthentication = self.merchantAuthentication
63
        cancelsubscriptionrequest.refId = 'Sample'
64
        cancelsubscriptionrequest.subscriptionId = self.__class__.createdSubscriptionId #input valid subscriptionId
65
        #cancelsubscriptionrequest.subscriptionId = '3259308'
66
        cancelsubscriptioncontroller = ARBCancelSubscriptionController (cancelsubscriptionrequest)
67
        cancelsubscriptioncontroller.execute()  
68
        response = cancelsubscriptioncontroller.getresponse()
69
        self.assertEquals('Ok', response.messages.resultCode)  
70
 
71
class paymentTransactionUnitTest(apitestbase.ApiTestBase): 
72 View Code Duplication
    def testauthCaptureTransaction(self):  
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
73
        transactionrequesttype = apicontractsv1.transactionRequestType()
74
        transactionrequesttype.transactionType = "authCaptureTransaction"
75
        transactionrequesttype.amount = self.amount
76
        transactionrequesttype.payment = self.payment
77
        transactionrequesttype.order = self.order
78
        transactionrequesttype.customer = self.customerData
79
        transactionrequesttype.billTo = self.billTo
80
         
81
        createtransactionrequest = apicontractsv1.createTransactionRequest()
82
        createtransactionrequest.merchantAuthentication = self.merchantAuthentication
83
        createtransactionrequest.refId = self.ref_id
84
        createtransactionrequest.transactionRequest = transactionrequesttype
85
        createtransactioncontroller = createTransactionController(createtransactionrequest)
86
        createtransactioncontroller.execute()
87
        response = createtransactioncontroller.getresponse()
88
        self.assertIsNotNone(response)
89
        self.assertIsNotNone(response.transactionResponse)
90
        self.assertIsNotNone(response.transactionResponse.transId)
91
        self.assertIsNot("0", response.transactionResponse.transId)
92
        
93 View Code Duplication
    def testauthOnlyContinueTransaction(self):      
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
94
        transactionrequesttype = apicontractsv1.transactionRequestType()
95
        transactionrequesttype.transactionType = "authCaptureTransaction"
96
        transactionrequesttype.amount = self.amount
97
        transactionrequesttype.payment = self.payment
98
        transactionrequesttype.order = self.order
99
        transactionrequesttype.customer = self.customerData
100
        transactionrequesttype.billTo = self.billTo
101
         
102
        createtransactionrequest = apicontractsv1.createTransactionRequest()
103
        createtransactionrequest.merchantAuthentication = self.merchantAuthentication
104
        createtransactionrequest.refId = self.ref_id
105
        createtransactionrequest.transactionRequest = transactionrequesttype
106
        createtransactioncontroller = createTransactionController(createtransactionrequest)
107
        createtransactioncontroller.execute()
108
        response = createtransactioncontroller.getresponse()
109
        self.assertIsNotNone(response.transactionResponse)
110
        self.assertIsNotNone(response.transactionResponse.transId)
111
        
112
class pyxbBinding(apitestbase.ApiTestBase):
113
    def testCreateSubscription_DeSerialize(self):
114
        arbXMLrequest = '<?xml version="1.0" encoding="utf-8"?><ARBCreateSubscriptionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><refId>Sample</refId><messages><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text></message></messages><subscriptionId>3263738</subscriptionId><profile><customerProfileId>40712423</customerProfileId><customerPaymentProfileId>36983905</customerPaymentProfileId></profile></ARBCreateSubscriptionResponse>'
115
        #print( "ARBCreateTransaction Request: %s \n" % arbXMLrequest )
116
        try:
117
            '''deserialize XML to object '''    
118
            deserializedObject = None
119
            deserializedObject = apicontractsv1.CreateFromDocument(arbXMLrequest)           
120
            self.assertIsNotNone(deserializedObject, "Null deserializedObject ")
121
    
122
            deseriaziedArbXmlRequest = deserializedObject.toxml(encoding=constants.xml_encoding, element_name='ARBCreateSubscriptionResponse') 
123
            deseriaziedArbXmlRequest = deseriaziedArbXmlRequest.replace(constants.nsNamespace1, '')
124
            deseriaziedArbXmlRequest = deseriaziedArbXmlRequest.replace(constants.nsNamespace2, '')
125
            logging.debug( "Good Dom Request: %s " % deseriaziedArbXmlRequest )
126
            #print( "ARB Dom Request: %s \n" % deseriaziedArbXmlRequest )
127
            #print("de-serialized successfully. ARBCreateTransaction \n ")
128
        except Exception as ex:
129
            #print("failed to de-serialized successfully. ARBCreateTransaction \n ")
130
            logging.error( 'Create Document Exception: %s, %s', type(ex), ex.args )        
131
            
132
#     def testCreateSubscription_missingElementStillAssertOk(self):    
133
#         createsubscriptionrequest = apicontractsv1.ARBCreateSubscriptionRequest()
134
#         createsubscriptionrequest.merchantAuthentication = self.merchantAuthentication
135
#         #createsubscriptionrequest.refId = 'Sample'
136
#         #createsubscriptionrequest.subscription = self.subscriptionOne #required field
137
#         arbcreatesubscriptioncontroller = ARBCreateSubscriptionController(createsubscriptionrequest)
138
#         arbcreatesubscriptioncontroller.execute()
139
#         response = arbcreatesubscriptioncontroller.getresponse()
140
#         self.assertEquals('Ok', response.messages.resultCode)
141
                
142
#     def testCreateSubscription_withResponseIDValue(self):    
143
#         createsubscriptionrequest = apicontractsv1.ARBCreateSubscriptionRequest()
144
#         createsubscriptionrequest.merchantAuthentication = self.merchantAuthentication
145
#         createsubscriptionrequest.refId = 'Sample'
146
#         createsubscriptionrequest.subscription = self.subscriptionOne #required field
147
#         arbcreatesubscriptioncontroller = ARBCreateSubscriptionController(createsubscriptionrequest)
148
#         arbcreatesubscriptioncontroller.execute()
149
#         response = arbcreatesubscriptioncontroller.getresponse()
150
#         print ("Test named 'testCreateSubscription_withResponseIDValue' has response.subscriptionId = %s" %response.subscriptionId)
151
#         self.assertEquals('Ok', response.messages.resultCode) 
152
153 View Code Duplication
    def testGetTransactionDetails_AssertNestedField(self):     
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
154
        gettransactiondetailsrequest = apicontractsv1.getTransactionDetailsRequest()
155
        gettransactiondetailsrequest.merchantAuthentication = self.merchantAuthentication
156
        gettransactiondetailsrequest.transId = '20000152262' #update valid transaction id
157
        gettransactiondetailscontroller = getTransactionDetailsController(gettransactiondetailsrequest)
158
        gettransactiondetailscontroller.execute()
159
        response =  gettransactiondetailscontroller.getresponse()
160
        self.assertEquals('Ok', response.messages.resultCode) 
161
        self.assertIsNotNone(response.transaction.settleAmount)    
162
        self.assertIsNotNone(response.transaction.payment.creditCard.cardNumber)
163
        self.assertIsNotNone(response.transaction.customer.id)
164
        self.assertIsNotNone(response.transaction.billTo.company)
165
        self.assertIsNotNone(response.transaction.entryMethod)
166
        self.assertIsNotNone(response.transaction.order.invoiceNumber)
167
        self.assertIsNotNone(response.transaction.batch.batchId)     
168
        
169 View Code Duplication
    def testGetTransactionDetails_UserAddsInvalidPropertyWhichIsNOTInRequestObject(self):     
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
170
        gettransactiondetailsrequest = apicontractsv1.getTransactionDetailsRequest()
171
        gettransactiondetailsrequest.merchantAuthentication = self.merchantAuthentication
172
        gettransactiondetailsrequest.transId ='20000152262' #update valid transaction id
173
        gettransactiondetailsrequest.abc = ' ' #user adds any extra element 
174
        gettransactiondetailscontroller = getTransactionDetailsController(gettransactiondetailsrequest)
175
        gettransactiondetailscontroller.execute()
176
        response =  gettransactiondetailscontroller.getresponse()
177
        self.assertEquals('Ok', response.messages.resultCode) 
178
        self.assertIsNotNone(response.transaction.settleAmount)    
179
        self.assertIsNotNone(response.transaction.payment.creditCard.cardNumber)
180
        self.assertIsNotNone(response.transaction.customer.id)
181
        self.assertIsNotNone(response.transaction.billTo.company)
182
        self.assertIsNotNone(response.transaction.entryMethod)
183
        self.assertIsNotNone(response.transaction.order.invoiceNumber)
184
        self.assertIsNotNone(response.transaction.batch.batchId)
185
   
186
         
187
'''    
188
class test_ProductionURL(apitestbase.ApiTestBase):  
189
    #Tests will run only with production credentials
190
    
191
          
192
    def testGetSettledBatchList(self):
193
        settledBatchListRequest = apicontractsv1.getSettledBatchListRequest() 
194
        settledBatchListRequest.merchantAuthentication = self.merchantAuthentication
195
        settledBatchListController = getSettledBatchListController(settledBatchListRequest)
196
        customEndpoint = constants.PRODUCTION 
197
        apicontrollersbase.APIOperationBase.setenvironment(customEndpoint)
198
        settledBatchListController.execute() 
199
        response = settledBatchListController.getresponse() 
200
        self.assertEquals('Ok', response.messages.resultCode) 
201
    
202
    def testGetListofSubscriptions(self):    
203
        sorting = apicontractsv1.ARBGetSubscriptionListSorting()
204
        sorting.orderBy = apicontractsv1.ARBGetSubscriptionListOrderFieldEnum.id
205
        sorting.orderDescending = "false"
206
        paging = apicontractsv1.Paging()
207
        paging.limit = 1000
208
        paging.offset = 1
209
        GetListofSubscriptionRequest = apicontractsv1.ARBGetSubscriptionListRequest()
210
        GetListofSubscriptionRequest.merchantAuthentication = self.merchantAuthentication
211
        GetListofSubscriptionRequest.refId = "Sample"
212
        GetListofSubscriptionRequest.searchType = apicontractsv1.ARBGetSubscriptionListSearchTypeEnum.subscriptionInactive
213
        GetListofSubscriptionRequest.sorting = sorting
214
        GetListofSubscriptionRequest.paging = paging
215
        arbgetsubscriptionlistcontroller = ARBGetSubscriptionListController(GetListofSubscriptionRequest)
216
        customEndpoint = constants.PRODUCTION 
217
        apicontrollersbase.APIOperationBase.setenvironment(customEndpoint)
218
        arbgetsubscriptionlistcontroller.execute()
219
        response = arbgetsubscriptionlistcontroller.getresponse()
220
        self.assertEquals('Ok', response.messages.resultCode) 
221
'''        
222
if __name__ =='__main__':
223
    unittest.main()  
224