コード例 #1
0
        public async Task Post_ShouldCallHelper()
        {
            //Arrange
            var expectedId                  = 1;
            var expectedImageName           = "testImageName";
            var expectedImageContentUri     = "https://whoisthatserverimages.blob.core.windows.net/images/Domantas_test.jpg";
            var expectedPersonFirstName     = "testFirstName";
            var expectedPersonLastName      = "testLastName";
            var expectedDescriptiveSentence = "t1";
            var expectedScore               = 1;

            var expectedDatabaseImageElement = new DatabaseImageElement()
            {
                Id = expectedId,
                ImageContentUri     = expectedImageContentUri,
                ImageName           = expectedImageName,
                PersonFirstName     = expectedPersonFirstName,
                PersonLastName      = expectedPersonLastName,
                DescriptiveSentence = expectedDescriptiveSentence,
                Score = expectedScore
            };

            var fakeDatabaseImageElementHelper = A.Fake <IDatabaseImageElementHelper>();

            A.CallTo(() => fakeDatabaseImageElementHelper.InsertNewImageElement(expectedId, expectedImageName,
                                                                                expectedImageContentUri, expectedPersonFirstName, expectedPersonLastName, expectedDescriptiveSentence, expectedScore))
            .Returns(expectedDatabaseImageElement);

            var databaseImageElementController = new DatabaseImageElementController()
            {
                DatabaseImageElementHelper = fakeDatabaseImageElementHelper,
                Request = new HttpRequestMessage()
            };

            //Act
            var result = databaseImageElementController.Post(expectedDatabaseImageElement);

            //Assert
            A.CallTo(() => fakeDatabaseImageElementHelper.InsertNewImageElement(expectedId, expectedImageName,
                                                                                expectedImageContentUri, expectedPersonFirstName, expectedPersonLastName, expectedDescriptiveSentence, expectedScore))
            .MustHaveHappenedOnceExactly();

            var httpResponse = await result.ExecuteAsync(new CancellationToken());

            var jsonContent = await httpResponse.Content.ReadAsStringAsync();

            var expectedJson = JsonConvert.SerializeObject(expectedDatabaseImageElement);

            jsonContent.ShouldBe(expectedJson);
        }
コード例 #2
0
        protected async void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //Testing Azure Blob Controller
            AzureBlobController            azureBlobController = new AzureBlobController();
            DatabaseImageElementController test = new DatabaseImageElementController();
            HttpClient client = new HttpClient();

            /*
             * string firstTest = azureBlobController.GetImageUri("Domantas_test_2.jpg");
             * DatabaseImageElement databaseImageElement = new DatabaseImageElement()
             * {
             *  ImageName = "Domantas_test_2.jpg",
             *  ImageContentUri = firstTest,
             *  PersonFirstName = "Domantas",
             *  PersonLastName = "WorkPls",
             *  DescriptiveSentence = "Very descriptive sentence",
             *  Score = 0
             * };
             * test.Post(databaseImageElement);
             * //string firstRestUrl = "https://testrecognition.azurewebsites.net/api/recognitionservices/insert";
             * //HttpResponseMessage firstResponse = await client.PostAsJsonAsync(
             * //    firstRestUrl, databaseImageElement);
             *
             * string secondTest = azureBlobController.GetImageUri("Luktas_test.jpg");
             * DatabaseImageElement databaseImageElementSec = new DatabaseImageElement()
             * {
             *  ImageName = "Luktas_test.jpg",
             *  ImageContentUri = secondTest,
             *  PersonFirstName = "Lukas",
             *  PersonLastName = "Elenbergas",
             *  DescriptiveSentence = "Something bad",
             *  Score = 0
             * };
             * test.Post(databaseImageElementSec);
             * //string restUrl = "https://testrecognition.azurewebsites.net/api/recognitionservices/insert";
             * //HttpResponseMessage response = await client.PostAsJsonAsync(
             * //    restUrl, databaseImageElementSec);
             *
             * //string restUrl = "https://testrecognition.azurewebsites.net/api/recognitionservices/create";
             * //HttpResponseMessage response = await client.GetAsync(
             * //    restUrl);
             */
        }
コード例 #3
0
        public async Task UpdateScore_ShouldCallHelper()
        {
            //Arrange
            var expectedScore = 1;

            var expectedElement = new DatabaseImageElement()
            {
                Id = 1,
                DescriptiveSentence = "t",
                ImageContentUri     = "t",
                ImageName           = "t",
                PersonFirstName     = "t",
                PersonLastName      = "t",
                Score = 0
            };

            var fakeDatabaseImageElementHelper = A.Fake <IDatabaseImageElementHelper>();

            A.CallTo(() => fakeDatabaseImageElementHelper.UpdateScore(expectedElement.Id)).Returns(expectedElement);

            var databaseImageElementController = new DatabaseImageElementController()
            {
                DatabaseImageElementHelper = fakeDatabaseImageElementHelper,
                Request = new HttpRequestMessage()
            };

            //Act
            var result = databaseImageElementController.UpdateScore(expectedElement.Id);

            //Assert
            A.CallTo(() => fakeDatabaseImageElementHelper.UpdateScore(expectedElement.Id))
            .MustHaveHappenedOnceExactly();

            var httpResponse = await result.ExecuteAsync(new CancellationToken());

            var jsonContent = await httpResponse.Content.ReadAsStringAsync();

            var expectedJson = JsonConvert.SerializeObject(expectedElement);

            jsonContent.ShouldBe(expectedJson);
        }