public void TrackViaClient_GetViews_ShouldReturnListOfViews() { // Assemble List <View> views = new List <View>() { new View("1", "Default Contacts View", "Contact Management - IT"), new View("2", "Default Activities View", "Contact Management - IT") }; Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupGetRequest(HttpStatusCode.OK, views, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act List <View> viewsResponse = client.getViews(); // Assert viewsResponse.ShouldNotBeNull() .Count.ShouldEqual(views.Count); for (int i = 0; i < views.Count; i++) { viewsResponse[i].ShouldNotBeNull().ShouldEqual(views[i]); } }
public void IntegrationTest_TrackViaClient_GetDomainRecords_SimpleCrmAccounts() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW <= 0); // Assemble TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act DomainRecordSet <TestData.SimpleCrmContact> domainRecordSet = client.getRecords <TestData.SimpleCrmContact>( IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW); // Assert domainRecordSet.ShouldNotBeNull() .Data.ShouldNotBeNull().ShouldNotBeEmpty(); domainRecordSet.Count.ShouldBeGreaterThan(1); domainRecordSet.Data.Count.ShouldEqual(domainRecordSet.Count); for (int i = 0; i < domainRecordSet.Count; i++) { TestData.SimpleCrmContact Account = domainRecordSet.Data[i]; Account.ShouldNotBeNull(); Account.Id.ShouldBeGreaterThan(0); Account.AccountName.ShouldNotBeNull().ShouldNotBeEmpty(); Account.PrimaryContact.ShouldNotBeNull().ShouldNotBeEmpty(); } }
public void IntegrationTest_TrackViaClient_GetAppList() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_WITHATLEASTTWORECORDS <= 0); // Assemble // Act TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); RecordSet rsResult = client.getRecords(IntegrationTestConfig.TRACKVIA_VIEWID_WITHATLEASTTWORECORDS); // Assert rsResult .ShouldNotBeNull() .Count.ShouldBeGreaterThan(1); rsResult.Data .ShouldNotBeNull() .Count.ShouldEqual(rsResult.Count); for (int i = 0; i < rsResult.Count; i++) { RecordData rd2 = rsResult.Data[i]; rd2.ShouldNotBeNull(); } }
public void IntegrationTest_TrackViaClient_GetViewListMatchingName() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(string.IsNullOrWhiteSpace( IntegrationTestConfig.TRACKVIA_VIEWNAME_THATMATCHES_ATLEASTTWOVIEWS)); // Assemble TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act var viewsResult = client.getViews("My Accounts"); // Assert viewsResult.ShouldNotBeNull().ShouldNotBeEmpty(); viewsResult.Count.ShouldBeGreaterThan(1); for (int i = 0; i < viewsResult.Count; i++) { var viewUnderTest = viewsResult[i]; viewUnderTest.ShouldNotBeNull(); viewUnderTest.ApplicationName.ShouldNotBeEmpty(); viewUnderTest.Id.ShouldNotBeEmpty(); viewUnderTest.Name.ShouldNotBeEmpty(); Assert.IsTrue(viewUnderTest.Name.Contains("My Accounts"), "returned view does not contain passed string"); } }
public void TrackViaClient_DeleteFile_ShouldReturnSuccess() { // Assemble Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TaskCompletionSource <HttpClientResponse> asyncTaskResult = new TaskCompletionSource <HttpClientResponse>(); asyncTaskResult.SetResult(new HttpClientResponse() { Content = null, ContentType = HttpClientResponseTypes.none, StatusCode = HttpStatusCode.NoContent }); httpClient.Setup(x => x .SendDeleteRequestAsync(It.IsAny <string>())) .Returns(asyncTaskResult.Task); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act client.deleteFile(1L, 1L, "Test File"); // Assert }
public void TrackViaClient_GetApps_ShouldReturnListOfApps() { // Assemble List <App> apps = new List <App>() { new App("1", "Contact Management - Construction"), new App("2", "Contact Management - IT") }; Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupGetRequest(HttpStatusCode.OK, apps, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act List <App> appsResponse = client.getApps(); // Assert appsResponse.ShouldNotBeNull() .Count.ShouldEqual(apps.Count); for (int i = 0; i < apps.Count; i++) { appsResponse[i].ShouldNotBeNull().ShouldEqual(apps[i]); } }
public void TrackViaClient_CreateRecordBatchAsDomainClass_ShouldCreatedRecords() { // Assemble Record rawRecord = TestData.getUnitTestRecord1(); TestData.Contact contact = TestData.getUnitTestContact1(); List <TestData.Contact> contacts = new List <TestData.Contact>(new TestData.Contact[] { contact }); DomainRecordSet <TestData.Contact> rs = new DomainRecordSet <TestData.Contact>(rawRecord.Structure, contacts); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupPostJsonRequest(HttpStatusCode.Created, rs, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); DomainRecordDataBatch <TestData.Contact> batch = new DomainRecordDataBatch <TestData.Contact>(contacts); // Act DomainRecordSet <TestData.Contact> rsResponse = client.createRecords <TestData.Contact>(1L, batch); // Assert rsResponse .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); rsResponse.Data .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); }
public void TrackViaClient_AddFile_ShouldReturnUpdatedRecord() { // Assemble string tempFilePath = System.IO.Path.GetTempFileName(); System.IO.File.WriteAllText(tempFilePath, "This is only a test"); Record record = TestData.getUnitTestRecord1(); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TaskCompletionSource <HttpClientResponse> asyncTaskResult = new TaskCompletionSource <HttpClientResponse>(); asyncTaskResult.SetResult(new HttpClientResponse() { Content = JsonConvert.SerializeObject(record), ContentType = HttpClientResponseTypes.json, StatusCode = HttpStatusCode.OK }); httpClient.Setup(x => x .SendPostFileRequestAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(asyncTaskResult.Task); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act Record updatedRecord = client.addFile(1L, 1L, "Test File", tempFilePath); // Assert updatedRecord.ShouldNotBeNull(); updatedRecord.Data.ShouldNotBeNull(); updatedRecord.Data[RecordData.INTERNAL_ID_FIELD_NAME].ShouldEqual(record.Data[RecordData.INTERNAL_ID_FIELD_NAME]); }
public void IntegrationTest_TrackViaClient_FindRecords_ShouldReturnListOfRecords() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW <= 0); // Assemble string searchCriteria = "A"; int startIndex = 0; int maxRecords = 2; TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act RecordSet rsResult = client.findRecords(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW, searchCriteria, startIndex, maxRecords); // Assert rsResult.ShouldNotBeNull(); rsResult.Data.ShouldNotBeNull() .ShouldNotBeEmpty(); rsResult.Count.ShouldEqual(2); for (int i = 0; i < rsResult.Count; i++) { var recordUnderTest = rsResult.Data[i]; recordUnderTest.ShouldNotBeNull(); recordUnderTest.Id.ShouldBeGreaterThan(0); } }
public void TrackViaClient_CreateRecordBatch_ShouldCreatedRecords() { // Assemble RecordSet rs = TestData.getUnitTestRecordSet3(); RecordDataBatch batch = new RecordDataBatch(rs.Data); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupPostJsonRequest(HttpStatusCode.Created, rs, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act RecordSet rsResponse = client.createRecords(1L, batch); // Assert rsResponse .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); rsResponse.Data .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); for (int i = 0; i < rsResponse.Count; i++) { RecordData rd1 = rs.Data[i]; RecordData rd2 = rsResponse.Data[i]; rd2.Id.ShouldEqual(rd1.Id); } }
public void IntegrationTest_TrackViaClient_FindDomainRecords_ShouldReturnListOfRecords() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW <= 0); // Assemble string searchCriteria = "A"; int startIndex = 0; int maxRecords = 2; TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act DomainRecordSet <TestData.SimpleCrmContact> domainRecordSet = client.findRecords <TestData.SimpleCrmContact>( IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW, searchCriteria, startIndex, maxRecords); // Assert domainRecordSet.ShouldNotBeNull(); domainRecordSet.Data.ShouldNotBeNull() .ShouldNotBeEmpty(); domainRecordSet.Count.ShouldEqual(2); // Assert for (int i = 0; i < domainRecordSet.Count; i++) { TestData.SimpleCrmContact Account = domainRecordSet.Data[i]; Account.ShouldNotBeNull(); Account.Id.ShouldBeGreaterThan(0); Account.AccountName.ShouldNotBeNull().ShouldNotBeEmpty(); Account.PrimaryContact.ShouldNotBeNull().ShouldNotBeEmpty(); } }
public void IntegrationTest_TrackViaClient_Scenario_CreateAndUpdateRecord_SimpleCRMAccount() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW <= 0); TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Create a record we can update Record record = Integration_CreateRecordStep(client); // Lets leave one field unchanged, update one field and add a new field value RecordData updatedData = new RecordData(); updatedData.Add("Primary Contact", "Updated Primary Contact"); updatedData.Add("Contact Phone", "555-555-5555"); // Act Record updatedResult = client.updateRecord(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW, record.Data.Id, updatedData); // Assert updatedResult.ShouldNotBeNull(); updatedResult.Data.ShouldNotBeNull(); updatedResult.Data.Id.ShouldEqual(record.Data.Id); updatedResult.Data["Account Name"].ShouldEqual(record.Data["Account Name"]); updatedResult.Data["Primary Contact"].ShouldEqual(updatedData["Primary Contact"]); updatedResult.Data["Contact Phone"].ShouldEqual(updatedData["Contact Phone"]); }
public void TrackViaClient_GetRecords_ShouldReturnListOfRecords() { // Assemble RecordSet rs = TestData.getUnitTestRecordSet1(); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupGetRequest(HttpStatusCode.OK, rs, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act RecordSet rsResponse = client.getRecords(1L); // Assert rsResponse .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); rsResponse.Data .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); for (int i = 0; i < rsResponse.Count; i++) { RecordData rd1 = rs.Data[i]; RecordData rd2 = rsResponse.Data[i]; rd2.ShouldNotBeNull().ShouldEqual(rd1); } }
public void TrackViaClient_DeleteRecord_ShouldNotBlowUp() { // Assemble RecordSet rs = TestData.getUnitTestRecordSet2(); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupDeleteRequest(HttpStatusCode.NoContent, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act client.deleteRecord(1L, 1L); }
public void InstantiateClient_SimplifiedParameters_ShouldNotBeNullAndShouldAuthorize() { //Assemble OAuth2Token token = TestHelper.GetTestAuthToken(); Mock <IAsyncHttpClientHelper> httpClient = TestHelper.CreateMockHttpAuthorization(token); // Act TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.Username_Fake, TestHelper.ApiKey_Fake, TestHelper.ApiKey_Fake); // Assert client.ShouldNotBeNull(); client.ValidateLastGoodTokenIsEqual(token).ShouldBeTrue("last good token does not match expected result"); }
public void IntegrationTest_TrackViaClient_CompletePasswordAuthorization() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(); // Assemble // Act TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Assert client.ShouldNotBeNull(); client.ValidateLastGoodTokenHasNotExpired(DateTime.Now).ShouldBeTrue("last good token should still be valid"); client.ValidateAccessTokenIsPresent().ShouldBeTrue("access token is not present"); }
public void IntegrationTest_TrackViaClient_GetUsers() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(); // Assemble TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act List <User> users = client.getUsers(0, 25); // Assert users.ShouldNotBeNull(); users.Count.ShouldBeGreaterThan(1); }
public void InstantiateClient_ExpandedParameters_ShouldNotBeNull() { //Assemble string baseUriPath = "/openapi"; Scheme scheme = Scheme.https; int port = 80; OAuth2Token token = TestHelper.GetTestAuthToken(); Mock <IAsyncHttpClientHelper> httpClient = TestHelper.CreateMockHttpAuthorization(token); // Act TrackViaClient client = new TrackViaClient(httpClient.Object, baseUriPath, scheme, TestHelper.HostName_Fake, port, TestHelper.Username_Fake, TestHelper.ApiKey_Fake, TestHelper.ApiKey_Fake); // Assert client.ShouldNotBeNull(); }
public void TrackViaClient_Authorize_ShouldDeserializeJsonAndReturnToken() { // Assemble OAuth2Token token = TestHelper.GetTestAuthToken(); Mock <IAsyncHttpClientHelper> httpClient = TestHelper.CreateMockHttpAuthorization(token); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.Username_Fake, TestHelper.ApiKey_Fake, TestHelper.ApiKey_Fake); // Act client.Authorize(TestHelper.Username_Fake, TestHelper.Password_Fake); // Assert client.ValidateLastGoodTokenIsEqual(token).ShouldBeTrue("last good token does not match expected result"); }
public void IntegrationTest_TrackViaClient_Scenario_CreateAndUpdateDeleteRecord_SimpleCRMAccount() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW <= 0); TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Create a record we can update Record record = Integration_CreateRecordStep(client); // Lets leave one field unchanged, update one field and add a new field value Record updatedRecord = Integration_UpdateRecordStep(client, record); client.deleteRecord(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW, updatedRecord.Data.Id); }
private static Record Integration_CreateRecordStep(TrackViaClient client) { RecordData recordData = TestData.IntegrationTest_SimpleCrmContact_GetCreateRecordData(); RecordDataBatch rsBatch = new RecordDataBatch(new RecordData[] { recordData }); // Act RecordSet rsResponse = client.createRecords(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW, rsBatch); // Assert rsResponse.ShouldNotBeNull(); rsResponse.Count.ShouldEqual(1); rsResponse.Data.ShouldNotBeNull(); rsResponse.Data[0].Id.ShouldBeGreaterThan(0); rsResponse.Data[0].ShouldNotBeNull(); return(new Record(rsResponse.Structure, rsResponse.Data[0])); }
public void IntegrationTest_TrackViaClient_GetRecord_SimpleCrmAccount() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW <= 0 || IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW_VALIDACCOUNTRECORDID <= 0); // Assemble TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act Record record = client.getRecord(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW, IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW_VALIDACCOUNTRECORDID); // Assert record.ShouldNotBeNull(); record.Data.ShouldNotBeNull(); record.Data.Id.ShouldEqual(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW_VALIDACCOUNTRECORDID); }
public void IntegrationTest_TrackViaClient_GetSingleView() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(string.IsNullOrWhiteSpace( IntegrationTestConfig.TRACKVIA_VIEWNAME_THATMATCHES_ATLEASTONEVIEW)); // Assemble TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act View viewResult = client.getFirstMatchingView("My Accounts"); // Assert viewResult.ShouldNotBeNull(); viewResult.ApplicationName.ShouldNotBeEmpty(); viewResult.Id.ShouldNotBeEmpty(); viewResult.Name.ShouldEqual("My Accounts"); }
public void TrackViaClient_FindRecords_ShouldReturnListOfRecords() { // Assemble string searchCriteria = "dontcare"; int startIndex = 0; int maxRecords = 25; RecordSet rs = TestData.getUnitTestRecordSet1(); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TaskCompletionSource <HttpClientResponse> asyncTaskResult = new TaskCompletionSource <HttpClientResponse>(); asyncTaskResult.SetResult(new HttpClientResponse() { Content = JsonConvert.SerializeObject(rs), ContentType = HttpClientResponseTypes.json, StatusCode = HttpStatusCode.OK }); httpClient.Setup(x => x .SendGetRequestAsync(It.Is <string>(s => s.Contains("q=" + searchCriteria) && s.Contains("start=" + startIndex) && s.Contains("max=" + maxRecords)))) .Returns(asyncTaskResult.Task); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act RecordSet rsResponse = client.findRecords(1L, searchCriteria, startIndex, maxRecords); // Assert rsResponse .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); rsResponse.Data .ShouldNotBeNull() .Count.ShouldEqual(rs.Count); for (int i = 0; i < rsResponse.Count; i++) { RecordData rd1 = rs.Data[i]; RecordData rd2 = rsResponse.Data[i]; rd2.ShouldNotBeNull().ShouldEqual(rd1); } }
public void TrackViaClient_RefreshAccessToken_ShouldReturnNewToken() { // Assemble Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); // Authorization Token OAuth2Token token = TestHelper.GetTestAuthToken(); TaskCompletionSource <HttpClientResponse> asyncAuthorizeTaskResult = new TaskCompletionSource <HttpClientResponse>(); asyncAuthorizeTaskResult.SetResult(new HttpClientResponse() { Content = JsonConvert.SerializeObject(token), ContentType = HttpClientResponseTypes.json, StatusCode = HttpStatusCode.OK }); httpClient.Setup(x => x .SendGetRequestAsync(It.Is <string>(s => s.Contains("grant_type=password")))) .Returns(asyncAuthorizeTaskResult.Task); // Refresh Token OAuth2Token refreshToken = TestHelper.GetTestRefreshToken(); TaskCompletionSource <HttpClientResponse> asyncRefreshTaskResult = new TaskCompletionSource <HttpClientResponse>(); asyncRefreshTaskResult.SetResult(new HttpClientResponse() { Content = JsonConvert.SerializeObject(refreshToken), ContentType = HttpClientResponseTypes.json, StatusCode = HttpStatusCode.OK }); httpClient.Setup(x => x .SendGetRequestAsync(It.Is <string>(s => s.Contains("grant_type=refresh_token")))) .Returns(asyncRefreshTaskResult.Task); // Act TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.Username_Fake, TestHelper.ApiKey_Fake, TestHelper.ApiKey_Fake); client.Authorize(TestHelper.Username_Fake, TestHelper.Password_Fake); client.RefreshAccessToken(); // Assert client.ValidateLastGoodTokenIsEqual(refreshToken).ShouldBeTrue("last good token does not match expected result"); }
public void TrackViaClient_GetRecord_ShouldReturnRecord() { // Assemble Record record = TestData.getUnitTestRecord1(); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupGetRequest(HttpStatusCode.OK, record, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act Record recordResponse = client.getRecord(1, 1); // Assert recordResponse.ShouldNotBeNull(); recordResponse.Data.ShouldNotBeNull(); recordResponse.Data.Id.ShouldEqual(1L); }
public void TrackViaClient_GetRecordAsDomainClass_ShouldReturnRecordAsType() { // Assemble Record record = TestData.getUnitTestRecord1(); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupGetRequest(HttpStatusCode.OK, record, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act DomainRecord <TestData.Contact> contactRecord = client.getRecord <TestData.Contact>(1, 1); // Assert contactRecord.ShouldNotBeNull(); contactRecord.Data.ShouldNotBeNull(); contactRecord.Data.Id.ShouldEqual(record.Data.Id); }
public void TrackViaClient_UpdateRecord_ShouldUpdateRecordAndReturn() { // Assemble RecordSet rs = TestData.getUnitTestRecordSet2(); Mock <IAsyncHttpClientHelper> httpClient = new Mock <IAsyncHttpClientHelper>(); TestHelper.HttpClient_SetupPutJsonRequest(HttpStatusCode.OK, rs, httpClient); TrackViaClient client = new TrackViaClient(httpClient.Object, TestHelper.HostName_Fake, TestHelper.ApiKey_Fake); // Act Record updatedRecord = client.updateRecord(1L, 1L, rs.Data[0]); // Assert updatedRecord.ShouldNotBeNull(); updatedRecord.Data.ShouldNotBeNull(); updatedRecord.Data.ShouldEqual(rs.Data[0]); }
public void IntegrationTest_TrackViaClient_CreateRecords_SimpleCRMAccount() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(); // Assemble RecordData recordData = TestData.IntegrationTest_SimpleCrmContact_GetCreateRecordData(); RecordDataBatch rsBatch = new RecordDataBatch(new RecordData[] { recordData }); TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act RecordSet rsResponse = client.createRecords(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW, rsBatch); // Assert rsResponse.ShouldNotBeNull(); rsResponse.Data.ShouldNotBeNull(); rsResponse.Count.ShouldEqual(1); rsResponse.Data[0].ShouldNotBeNull(); }
public void IntegrationTest_TrackViaClient_AddFile_ShouldReturnUpdatedRecord() { TestHelper.EnsureProductionValuesBeforeRunningIntegrationTests(IntegrationTestConfig.TRACKVIA_VIEWID_DEMOSIMPLECRM_ACCOUNTSDEFAULTVIEW <= 0); // Assemble string tempFilePath = IntegrationTestConfig.IMAGE_FILE_FULL_PATH_FOR_UPLOAD; // System.IO.Path.GetTempFileName(); TrackViaClient client = new TrackViaClient(IntegrationTestConfig.TRACKVIA_HOSTNAME, IntegrationTestConfig.TRACKVIA_USERNAME, IntegrationTestConfig.TRACKVIA_PASSWORD, IntegrationTestConfig.TRACKVIA_API_KEY); // Act Record updatedRecord = client.addFile(IntegrationTestConfig.TRACKVIA_VIEWID_INCLUDESFILEFIELD, IntegrationTestConfig.TRACKVIA_VIEWID_INCLUDESFILEFIELD_RECORDID, IntegrationTestConfig.TRACKVIA_VIEWID_INCLUDESFILEFIELD_FIELDNAME, tempFilePath); // Assert updatedRecord.ShouldNotBeNull(); updatedRecord.Data.ShouldNotBeNull(); updatedRecord.Data[IntegrationTestConfig.TRACKVIA_VIEWID_INCLUDESFILEFIELD_FIELDNAME].ShouldNotBeNull(); }