@@ -15,14 +15,19 @@ func TestShouldCreateConfigurationWithSubdomain(t *testing.T) {
1515 environment := configuration .Sandbox ()
1616
1717 testCases := []struct {
18- subdomain string
19- expectedUrl string
18+ subdomain string
19+ expectedApiUrl string
20+ expectedAuthUrl string
2021 }{
21- {"a" , "https://a.api.sandbox.checkout.com" },
22- {"ab" , "https://ab.api.sandbox.checkout.com" },
23- {"abc" , "https://abc.api.sandbox.checkout.com" },
24- {"abc1" , "https://abc1.api.sandbox.checkout.com" },
25- {"12345domain" , "https://12345domain.api.sandbox.checkout.com" },
22+ {"a" , "https://a.api.sandbox.checkout.com" , "https://a.access.sandbox.checkout.com/connect/token" },
23+ {"ab" , "https://ab.api.sandbox.checkout.com" , "https://ab.access.sandbox.checkout.com/connect/token" },
24+ {"abc" , "https://abc.api.sandbox.checkout.com" , "https://abc.access.sandbox.checkout.com/connect/token" },
25+ {"abc1" , "https://abc1.api.sandbox.checkout.com" , "https://abc1.access.sandbox.checkout.com/connect/token" },
26+ {"12345domain" , "https://12345domain.api.sandbox.checkout.com" , "https://12345domain.access.sandbox.checkout.com/connect/token" },
27+ {"a1b2c3d4" , "https://a1b2c3d4.api.sandbox.checkout.com" , "https://a1b2c3d4.access.sandbox.checkout.com/connect/token" },
28+ {"12345678" , "https://12345678.api.sandbox.checkout.com" , "https://12345678.access.sandbox.checkout.com/connect/token" },
29+ {"abcdefgh" , "https://abcdefgh.api.sandbox.checkout.com" , "https://abcdefgh.access.sandbox.checkout.com/connect/token" },
30+ {"1234doma" , "https://1234doma.api.sandbox.checkout.com" , "https://1234doma.access.sandbox.checkout.com/connect/token" },
2631 }
2732
2833 for _ , tc := range testCases {
@@ -31,7 +36,8 @@ func TestShouldCreateConfigurationWithSubdomain(t *testing.T) {
3136 config := configuration .NewConfigurationWithSubdomain (credentials , environment , subdomain , & http.Client {}, nil )
3237
3338 assert .NotNil (t , config )
34- assert .Equal (t , tc .expectedUrl , config .EnvironmentSubdomain .ApiUrl )
39+ assert .Equal (t , tc .expectedApiUrl , config .EnvironmentSubdomain .ApiUrl )
40+ assert .Equal (t , tc .expectedAuthUrl , config .EnvironmentSubdomain .AuthorizationUrl )
3541 })
3642 }
3743}
@@ -41,14 +47,15 @@ func TestShouldCreateConfigurationWithBadSubdomain(t *testing.T) {
4147 environment := configuration .Sandbox ()
4248
4349 testCases := []struct {
44- subdomain string
45- expectedUrl string
50+ subdomain string
51+ expectedApiUrl string
52+ expectedAuthUrl string
4653 }{
47- {"" , "https://api.sandbox.checkout.com" },
48- {" " , "https://api.sandbox.checkout.com" },
49- {" - " , "https://api.sandbox.checkout.com" },
50- {"a b" , "https://api.sandbox.checkout.com" },
51- {"ab c1" , "https://api.sandbox.checkout.com" },
54+ {"" , "https://api.sandbox.checkout.com" , "https://access.sandbox.checkout.com/connect/token" },
55+ {" " , "https://api.sandbox.checkout.com" , "https://access.sandbox.checkout.com/connect/token" },
56+ {" - " , "https://api.sandbox.checkout.com" , "https://access.sandbox.checkout.com/connect/token" },
57+ {"a b" , "https://api.sandbox.checkout.com" , "https://access.sandbox.checkout.com/connect/token" },
58+ {"ab c1" , "https://api.sandbox.checkout.com" , "https://access.sandbox.checkout.com/connect/token" },
5259 }
5360
5461 for _ , tc := range testCases {
@@ -57,7 +64,21 @@ func TestShouldCreateConfigurationWithBadSubdomain(t *testing.T) {
5764 config := configuration .NewConfigurationWithSubdomain (credentials , environment , subdomain , & http.Client {}, nil )
5865
5966 assert .NotNil (t , config )
60- assert .Equal (t , tc .expectedUrl , config .EnvironmentSubdomain .ApiUrl )
67+ assert .Equal (t , tc .expectedApiUrl , config .EnvironmentSubdomain .ApiUrl )
68+ assert .Equal (t , tc .expectedAuthUrl , config .EnvironmentSubdomain .AuthorizationUrl )
6169 })
6270 }
6371}
72+
73+ func TestShouldCreateConfigurationWithSubdomainForProduction (t * testing.T ) {
74+ credentials := new (mocks.CredentialsMock )
75+ environment := configuration .Production ()
76+ subdomain := "1234prod"
77+
78+ subdomain_env := configuration .NewEnvironmentSubdomain (environment , subdomain )
79+ config := configuration .NewConfigurationWithSubdomain (credentials , environment , subdomain_env , & http.Client {}, nil )
80+
81+ assert .NotNil (t , config )
82+ assert .Equal (t , "https://1234prod.api.checkout.com" , config .EnvironmentSubdomain .ApiUrl )
83+ assert .Equal (t , "https://1234prod.access.checkout.com/connect/token" , config .EnvironmentSubdomain .AuthorizationUrl )
84+ }
0 commit comments