Esempio n. 1
0
        public async Task verify_that_we_handle_a_missing_change_object()
        {
            var mockAdapter = new Mock <IHubSpotAdapter>();

            var json_no_crmid = "{ \"crmid\": \"012345\" }";

            var func = new DequeueContactDiffs(mockAdapter.Object);
            await func.Run(json_no_crmid, _errorQueue, _logger);

            // We can handle a missing changes object without fuss
            Assert.Empty(_errorQueue.Items);
        }
Esempio n. 2
0
        public async Task verify_that_we_handle_invalid_change_object()
        {
            var mockAdapter = new Mock <IHubSpotAdapter>();

            var json_no_crmid = "{ \"crmid\": \"012345\", \"changes\": 100 }";  // changes is not an array

            var func = new DequeueContactDiffs(mockAdapter.Object);
            await func.Run(json_no_crmid, _errorQueue, _logger);

            // We expect an exception to be thrown
            Assert.Single(_errorQueue.Items);

            var errMsg = _errorQueue.Items[0];

            Assert.Contains("Exception", errMsg);
            Assert.Contains("not an array", errMsg);
        }
Esempio n. 3
0
        public async Task verify_that_we_handle_a_non_json_message()
        {
            var mockAdapter = new Mock <IHubSpotAdapter>();

            var notJsonAtAll = "I am just a string";

            var func = new DequeueContactDiffs(mockAdapter.Object);
            await func.Run(notJsonAtAll, _errorQueue, _logger);

            // We expect an exception to be thrown
            Assert.Single(_errorQueue.Items);

            var errMsg = _errorQueue.Items[0];

            Assert.Contains("Exception", errMsg);
            Assert.Contains("deserialising message text", errMsg);
        }
Esempio n. 4
0
        public async Task verify_that_we_handle_no_crmid()
        {
            var mockAdapter = new Mock <IHubSpotAdapter>();

            var json_no_crmid = "{ \"msg\": \"no crmid here\" }";

            var func = new DequeueContactDiffs(mockAdapter.Object);
            await func.Run(json_no_crmid, _errorQueue, _logger);

            // We expect an exception to be thrown
            Assert.Single(_errorQueue.Items);

            var errMsg = _errorQueue.Items[0];

            Assert.Contains("Exception", errMsg);
            Assert.Contains("crmid not found", errMsg);
        }
Esempio n. 5
0
        public async Task verify_that_we_handle_some_changes()
        {
            var mockAdapter = new Mock <IHubSpotAdapter>();

            var desiredResult = new HubSpotContactResult(HttpStatusCode.OK);

            mockAdapter.Setup(p => p.UpdateContactDetailsAsync(
                                  "012345",
                                  It.IsAny <HubSpotContactProperties>(),
                                  It.IsAny <ILogger>(),
                                  It.IsAny <bool>())).ReturnsAsync(desiredResult);

            var json_no_crmid = "{ \"crmid\": \"012345\", \"changes\": [{\"name\": \"Street Address\", \"value\": \"18 Example Place\"},{\"name\": \"Phone\", \"value\": \"0451443455\"}] }";

            var func = new DequeueContactDiffs(mockAdapter.Object);
            await func.Run(json_no_crmid, _errorQueue, _logger);

            // We can handle a missing changes object without fuss
            Assert.Empty(_errorQueue.Items);
        }