1- using System ;
2- using System . Collections . Generic ;
1+ using Moq ;
2+ using Moq . Protected ;
3+ using NUnit . Framework ;
4+ using NUnit . Framework . Internal ;
5+ using System ;
36using System . IO ;
4- using System . Linq ;
57using System . Net ;
68using System . Net . Http ;
7- using System . Text ;
89using System . Threading ;
910using System . Threading . Tasks ;
10- using System . Web ;
11- using Microsoft . AspNet . SignalR . Hubs ;
12- using Moq ;
13- using Moq . Protected ;
14- using Newtonsoft . Json ;
15- using NUnit . Framework ;
16- using NUnit . Framework . Internal ;
1711using Umbraco . Cms . Integrations . Crm . Hubspot . Configuration ;
1812using Umbraco . Cms . Integrations . Crm . Hubspot . Controllers ;
1913using Umbraco . Cms . Integrations . Crm . Hubspot . Models ;
20- using Umbraco . Cms . Integrations . Crm . Hubspot . Models . Dtos ;
2114using Umbraco . Cms . Integrations . Crm . Hubspot . Services ;
2215using Umbraco . Core . Composing ;
23- using Umbraco . Core . Configuration ;
24- using Umbraco . Core . Configuration . UmbracoSettings ;
25- using Umbraco . Core . Logging ;
26- using Umbraco . Web ;
27- using Umbraco . Web . Routing ;
28- using Umbraco . Web . Security ;
2916using ILogger = Umbraco . Core . Logging . ILogger ;
3017
3118namespace Umbraco . Cms . Integrations . Crm . Hubspot . Tests . Controllers
@@ -39,23 +26,11 @@ public class FormsControllerTests
3926 ""correlationId"": ""73f4a25b-7b0a-4537-a490-e5c226619d59""
4027 }" ;
4128
42- private readonly string ExpiredOAuthToken = @"{
43- ""status"": ""error"",
44- ""message"": ""This oauth-token is expired! expiresAt: 1643194402611, now: 1643972072320"",
45- ""correlationId"": ""1ae46a55-f5b9-4f68-811a-695a12aaa4f5"",
46- ""category"": ""EXPIRED_AUTHENTICATION"",
47- ""errors"": [
48- {
49- ""message"": ""The OAuth token used to make this call expired 9 day(s) ago.""
50- }
51- ]
52- }" ;
29+ private HubspotSettings MockedAppSettingsApiSetup ;
5330
54- private Mock < IAppSettings > MockedAppSettingsApiSetup ;
31+ private HubspotSettings MockedAppSettingsOAuthSetup ;
5532
56- private Mock < IAppSettings > MockedAppSettingsOAuthSetup ;
57-
58- private Mock < IAppSettings > MockedAppSettingsNoSetup ;
33+ private HubspotSettings MockedAppSettingsNoSetup ;
5934
6035 private Mock < ILogger > MockedLogger ;
6136
@@ -81,7 +56,10 @@ public void Init()
8156 [ Test ]
8257 public void CheckApiConfiguration_WithApiConfig_ShouldReturnValidConfigurationResponseObjectWithType ( )
8358 {
84- var sut = new FormsController ( MockedAppSettingsApiSetup . Object , Mock . Of < ITokenService > ( ) , Mock . Of < ILogger > ( ) ) ;
59+ var sut = new FormsController ( Mock . Of < ITokenService > ( ) , Mock . Of < ILogger > ( ) )
60+ {
61+ Options = MockedAppSettingsApiSetup
62+ } ;
8563
8664 var result = sut . CheckConfiguration ( ) ;
8765
@@ -92,7 +70,10 @@ public void CheckApiConfiguration_WithApiConfig_ShouldReturnValidConfigurationRe
9270 [ Test ]
9371 public void CheckOAuthConfiguration_WithOAuthConfigAndNoApiConfig_ShouldReturnValidConfigurationResponseObjectWithType ( )
9472 {
95- var sut = new FormsController ( MockedAppSettingsOAuthSetup . Object , Mock . Of < ITokenService > ( ) , Mock . Of < ILogger > ( ) ) ;
73+ var sut = new FormsController ( Mock . Of < ITokenService > ( ) , Mock . Of < ILogger > ( ) )
74+ {
75+ Options = MockedAppSettingsOAuthSetup
76+ } ;
9677
9778 var result = sut . CheckConfiguration ( ) ;
9879
@@ -107,7 +88,10 @@ public void CheckOAuthConfiguration_WithOAuthConfigAndNoApiConfig_ShouldReturnVa
10788 [ Test ]
10889 public async Task GetAll_WithoutApiKey_ShouldReturnInvalidResponseObjectWithLoggedInfo ( )
10990 {
110- var sut = new FormsController ( Mock . Of < IAppSettings > ( ) , Mock . Of < ITokenService > ( ) , MockedLogger . Object ) ;
91+ var sut = new FormsController ( Mock . Of < ITokenService > ( ) , MockedLogger . Object )
92+ {
93+ Options = MockedAppSettingsNoSetup
94+ } ;
11195
11296 var result = await sut . GetAll ( ) ;
11397
@@ -120,7 +104,8 @@ public async Task GetAll_WithoutApiKey_ShouldReturnInvalidResponseObjectWithLogg
120104 [ Test ]
121105 public async Task GetAll_WithUnauthorizedRequest_ShouldReturnExpiredResponseObjectWithLoggedError ( )
122106 {
123- var sut = new FormsController ( MockedAppSettingsApiSetup . Object , Mock . Of < ITokenService > ( ) , MockedLogger . Object ) ;
107+ var sut = new FormsController ( Mock . Of < ITokenService > ( ) , MockedLogger . Object ) ;
108+ sut . Options = MockedAppSettingsApiSetup ;
124109
125110 var httpClient = CreateMockedHttpClient ( HttpStatusCode . Unauthorized , InvalidApiKey ) ;
126111 FormsController . ClientFactory = ( ) => httpClient ;
@@ -136,7 +121,8 @@ public async Task GetAll_WithUnauthorizedRequest_ShouldReturnExpiredResponseObje
136121 [ Test ]
137122 public async Task GetAll_WithSuccessfulRequest_ShouldReturnResponseObjectWithFormsCollection ( )
138123 {
139- var sut = new FormsController ( MockedAppSettingsApiSetup . Object , Mock . Of < ITokenService > ( ) , MockedLogger . Object ) ;
124+ var sut = new FormsController ( Mock . Of < ITokenService > ( ) , MockedLogger . Object ) ;
125+ sut . Options = MockedAppSettingsApiSetup ;
140126
141127 var response = File . ReadAllText ( TestContext . CurrentContext . TestDirectory + "\\ Data\\ mockResponseApiSetup.json" ) ;
142128
@@ -153,7 +139,8 @@ public async Task GetAll_WithSuccessfulRequest_ShouldReturnResponseObjectWithFor
153139 [ Test ]
154140 public async Task GetAll_WithFailedRequest_ShouldReturnDefaultResponseObjectWithLoggedError ( )
155141 {
156- var sut = new FormsController ( MockedAppSettingsApiSetup . Object , Mock . Of < ITokenService > ( ) , MockedLogger . Object ) ;
142+ var sut = new FormsController ( Mock . Of < ITokenService > ( ) , MockedLogger . Object ) ;
143+ sut . Options = MockedAppSettingsApiSetup ;
157144
158145 var response = File . ReadAllText ( TestContext . CurrentContext . TestDirectory + "\\ Data\\ mockResponseApiSetup.json" ) ;
159146
@@ -178,7 +165,7 @@ public async Task GetAllOAuth_WithoutAccessToken_ShouldReturnInvalidResponseObje
178165 {
179166 var mockedTokenService = CreateMockedTokenService ( false ) ;
180167
181- var sut = new FormsController ( Mock . Of < IAppSettings > ( ) , mockedTokenService . Object , MockedLogger . Object ) ;
168+ var sut = new FormsController ( mockedTokenService . Object , MockedLogger . Object ) ;
182169
183170 var result = await sut . GetAllOAuth ( ) ;
184171
@@ -193,7 +180,7 @@ public async Task GetAllOAuth_WithUnauthorizedRequest_ShouldReturnExpiredRespons
193180 {
194181 var mockedTokenService = CreateMockedTokenService ( true ) ;
195182
196- var sut = new FormsController ( MockedAppSettingsApiSetup . Object , mockedTokenService . Object , MockedLogger . Object ) ;
183+ var sut = new FormsController ( mockedTokenService . Object , MockedLogger . Object ) ;
197184
198185 var httpClient = CreateMockedHttpClient ( HttpStatusCode . Unauthorized ) ;
199186 FormsController . ClientFactory = ( ) => httpClient ;
@@ -211,14 +198,14 @@ public async Task GetAllOAuth_WithSuccessfulRequest_ShouldReturnResponseObjectWi
211198 {
212199 var mockedTokenService = CreateMockedTokenService ( true ) ;
213200
214- var sut = new FormsController ( MockedAppSettingsApiSetup . Object , mockedTokenService . Object , MockedLogger . Object ) ;
201+ var sut = new FormsController ( mockedTokenService . Object , MockedLogger . Object ) ;
215202
216203 var response = File . ReadAllText ( TestContext . CurrentContext . TestDirectory + "\\ Data\\ mockResponseOAuthSetup.json" ) ;
217204
218205 var httpClient = CreateMockedHttpClient ( HttpStatusCode . OK , response ) ;
219206 FormsController . ClientFactory = ( ) => httpClient ;
220207
221- var result = await sut . GetAll ( ) ;
208+ var result = await sut . GetAllOAuth ( ) ;
222209
223210 Assert . That ( result . IsValid , Is . True ) ;
224211 Assert . That ( result . IsExpired , Is . False ) ;
@@ -230,14 +217,14 @@ public async Task GetAllOAuth_WithFailedRequest_ShouldReturnDefaultResponseObjec
230217 {
231218 var mockedTokenService = CreateMockedTokenService ( true ) ;
232219
233- var sut = new FormsController ( MockedAppSettingsApiSetup . Object , mockedTokenService . Object , MockedLogger . Object ) ;
220+ var sut = new FormsController ( mockedTokenService . Object , MockedLogger . Object ) ;
234221
235222 var response = File . ReadAllText ( TestContext . CurrentContext . TestDirectory + "\\ Data\\ mockResponseApiSetup.json" ) ;
236223
237224 var httpClient = CreateMockedHttpClient ( HttpStatusCode . InternalServerError , response ) ;
238225 FormsController . ClientFactory = ( ) => httpClient ;
239226
240- var result = await sut . GetAll ( ) ;
227+ var result = await sut . GetAllOAuth ( ) ;
241228
242229 MockedLogger . Verify ( x => x . Error ( It . Is < Type > ( y => y == typeof ( FormsController ) ) , It . IsAny < string > ( ) ) , Times . Once ) ;
243230
@@ -248,18 +235,11 @@ public async Task GetAllOAuth_WithFailedRequest_ShouldReturnDefaultResponseObjec
248235
249236 #endregion
250237
251- private static Mock < IAppSettings > CreateMockedAppSettings ( bool includeApiKeySettings = false )
238+ private static HubspotSettings CreateMockedAppSettings ( bool includeApiKeySettings = false )
252239 {
253- var mockedAppSettings = new Mock < IAppSettings > ( ) ;
254-
255- if ( includeApiKeySettings )
256- {
257- mockedAppSettings
258- . Setup ( c => c [ AppSettingsConstants . UmbracoCmsIntegrationsCrmHubspotApiKey ] )
259- . Returns ( "test-api-key" ) ;
260- }
261-
262- return mockedAppSettings ;
240+ return includeApiKeySettings
241+ ? new HubspotSettings { ApiKey = "test-api-key" , Region = "eu1" }
242+ : new HubspotSettings { Region = "eu1" } ;
263243 }
264244
265245 private static Mock < ITokenService > CreateMockedTokenService ( bool includeAccessToken )
0 commit comments