public void AssertSuccessStatusCode()
        {
            var request = new RestRequest("api/Albums");

            var response = _apiClientService.Get(request);

            response.AssertSuccessStatusCode();
        }
Example #2
0
        public void AssertSuccessStatusCode()
        {
            var request = new RestRequest("api/Albums");

            var response = _apiClientService.Get(request);

            // 1. Assert that the status code is successful.
            response.AssertSuccessStatusCode();
        }
Example #3
0
        public void LoadTest_ExecuteForTime()
        {
            var request = new RestRequest("api/Albums");

            App.LoadTestService.ExecuteForTime(10, 1, 30, () =>
            {
                var response = _apiClientService.Get(request);

                response.AssertSuccessStatusCode();
                response.AssertExecutionTimeUnder(1);
            });
        }
Example #4
0
        public override void TestsAct()
        {
            var getResponse = _apiClientService.Get <Genres>(_getRequest);

            getResponse.Data.Name = "Unique Title";

            _putRequest.AddJsonBody(getResponse.Data);

            _apiClientService.Put <Genres>(_putRequest);

            _putResponse = _apiClientService.Get <Genres>(_getRequest);
        }
        public void ContentPopulated_When_GetAlbums()
        {
            var request = new RestRequest("api/Albums");

            var response = _apiClientService.Get(request);

            Assert.IsNotNull(response.Content);

            // 2. Another way to measure performance is to use the AssertExecutionTimeUnder method.
            // if the request took longer to execute the test will fail again.
            // You can use the method approach in case the speed of all request is not so important.
            // In all other cases, you can use the global attribute.
            response.AssertExecutionTimeUnder(2);
        }
Example #6
0
        public void ContentPopulated_When_GetAlbums()
        {
            var request = new RestRequest("api/Albums");

            var response = _apiClientService.Get(request);

            Assert.IsNotNull(response.Content);
        }
        public void ContentPopulated_When_GetAlbums()
        {
            var request = new RestRequest("api/Albums");

            // 1. Make a Get request but not convert the response to C# object.
            var response = _apiClientService.Get(request);

            // 1.1. The response is returned in its native format- JSON or XML.
            Assert.IsNotNull(response.Content);
        }
Example #8
0
        public void LoadTest_ExecuteForTime()
        {
            var request = new RestRequest("api/Albums");

            // 1. BELLATRIX offers a module for making load tests.
            // The first type of load tests is time-based.
            // 10 parallel processes will run for 30 seconds, and the engine makes a pause of 1 sec between requests.
            // As an anonymous method or existing method you can specify the code to be executed in each thread.
            App.LoadTestService.ExecuteForTime(
                numberOfProcesses: 10,
                pauseBetweenStartSeconds: 1,
                secondsToBeExecuted: 30,
                testBody: () =>
            {
                var response = _apiClientService.Get(request);

                response.AssertSuccessStatusCode();
                response.AssertExecutionTimeUnder(1);
            });
        }
Example #9
0
        public void ContentPopulated_When_GetAlbums()
        {
            var request = new RestRequest("api/Albums");

            var response = _apiClientService.Get(request);

            Assert.IsNotNull(response.Content);

            // After the tests are executed the following log is created:
            // Start Test
            // Class = BDDLoggingTests Name = ContentPopulated_When_GetAlbums
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Start Test
            // Class = BDDLoggingTests Name = ContentPopulated_When_NewAlbumInsertedViaPost
            // Making GET request against resource api/Genres
            // Response of request GET against resource api/Genres - Completed
            // Making POST request against resource api/Genres with parameters application/json={"GenreId":74,"Name":"b6f831d3-42c7-462c-9c8b-4bc0aeb870dc","Tracks":[]}
            // Response of request POST against resource api/Genres - Completed
            // Start Test
            // Class = BDDLoggingTests Name = ArtistsDeleted_When_PerformDeleteRequest
            // Making GET request against resource api/Artists
            // Response of request GET against resource api/Artists - Completed
            // Making POST request against resource api/Artists with parameters application/json={"ArtistId":276,"Name":"97062971-1fd0-4b73-9931-89d7d6c78b92","Albums":[]}
            // Response of request POST against resource api/Artists - Completed
            // Making DELETE request against resource api/Artists/276
            // Response of request DELETE against resource api/Artists/276 - Completed
            // Start Test
            // Class = BDDLoggingTests Name = DataPopulatedAsList_When_GetGenericAlbums
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Start Test
            // Class = BDDLoggingTests Name = DataPopulatedAsGenres_When_PutModifiedContent
            // Making GET request against resource api/Albums/11
            // Response of request GET against resource api/Albums/11 - Completed
            // Making PUT request against resource api/Albums/11 with parameters application/json={"AlbumId":11,"Title":"77cefc4a-2907-437c-ac2c-731e3ae11c9a","ArtistId":8,"Artist":null,"Tracks":[]}
            // Response of request PUT against resource api/Albums/11 - Completed
            // Making GET request against resource api/Albums/11 with parameters Accept=application/json, application/xml, text/json, text/x-json, text/javascript, text/xml
            // Response of request GET against resource api/Albums/11 - Completed

            // 4. Similar logs are generated for all additional API assertion methods.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentNotEqualsRammstein
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is not equal to Rammstein.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentEquals
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is equal to {"albumId":10,"title":"Audioslave","artistId":8,"artist":null,"tracks":[]}.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentNotContainsRammstein
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content does not contain Rammstein.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertResultEquals
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is equal to Bellatrix.API.GettingStarted.Models.Albums.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertCookieExists
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response cookie whoIs exists.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertResponseHeaderServerIsEqualToKestrel
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response header is equal to server.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertResultNotEquals
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is not equal to Bellatrix.API.GettingStarted.Models.Albums.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentContainsAudioslave
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content contains Audioslave.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentTypeJson
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response Content-Type is equal to application/json; charset=utf-8.
            // Assert response header is equal to Content-Type.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertExecutionTimeUnderIsUnderOneSecond
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response execution time is under 1.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertCookieWhoIsBella
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response cookie is equal to whoIs=Bella.
            // Assert response cookie whoIs exists.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertSuccessStatusCode
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response status code is successfull.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertStatusCodeOk
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response status code is equal to OK.
        }
Example #10
0
        public void ContentPopulated_When_GetAlbums()
        {
            // 2. In the testFrameworkSettings.json file find a section called logging, responsible for controlling the BDD logs generation.
            //  "loggingSettings": {
            //      "isEnabled": "true",
            //      "isConsoleLoggingEnabled": "true",
            //      "isDebugLoggingEnabled": "true",
            //      "isEventLoggingEnabled": "false",
            //      "isFileLoggingEnabled": "true",
            //      "outputTemplate":  "{Message:lj}{NewLine}",
            //      "addUrlToBddLogging": "false"
            //  }
            //
            // You can disable the logs entirely. There are different places where the logs are populated.
            // By default, you can see the logs in the output window of each test.
            // Also, a file called logs.txt is generated in the folder with the DLLs of your tests.
            // If you execute your tests in CI with some CLI test runner the logs are printed there as well.
            // outputTemplate - controls how the message is formatted. You can add additional info such as timestamp and much more.
            // for more info visit- https://github.com/serilog/serilog/wiki/Formatting-Output
            var request = new RestRequest("api/Albums");

            var response = _apiClientService.Get(request);

            Assert.IsNotNull(response.Content);

            // 3. After the tests are executed the following log is created:
            // Start Test
            // Class = BDDLoggingTests Name = ContentPopulated_When_GetAlbums
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Start Test
            // Class = BDDLoggingTests Name = ContentPopulated_When_NewAlbumInsertedViaPost
            // Making GET request against resource api/Genres
            // Response of request GET against resource api/Genres - Completed
            // Making POST request against resource api/Genres with parameters application/json={"GenreId":74,"Name":"b6f831d3-42c7-462c-9c8b-4bc0aeb870dc","Tracks":[]}
            // Response of request POST against resource api/Genres - Completed
            // Start Test
            // Class = BDDLoggingTests Name = ArtistsDeleted_When_PerformDeleteRequest
            // Making GET request against resource api/Artists
            // Response of request GET against resource api/Artists - Completed
            // Making POST request against resource api/Artists with parameters application/json={"ArtistId":276,"Name":"97062971-1fd0-4b73-9931-89d7d6c78b92","Albums":[]}
            // Response of request POST against resource api/Artists - Completed
            // Making DELETE request against resource api/Artists/276
            // Response of request DELETE against resource api/Artists/276 - Completed
            // Start Test
            // Class = BDDLoggingTests Name = DataPopulatedAsList_When_GetGenericAlbums
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Start Test
            // Class = BDDLoggingTests Name = DataPopulatedAsGenres_When_PutModifiedContent
            // Making GET request against resource api/Albums/11
            // Response of request GET against resource api/Albums/11 - Completed
            // Making PUT request against resource api/Albums/11 with parameters application/json={"AlbumId":11,"Title":"77cefc4a-2907-437c-ac2c-731e3ae11c9a","ArtistId":8,"Artist":null,"Tracks":[]}
            // Response of request PUT against resource api/Albums/11 - Completed
            // Making GET request against resource api/Albums/11 with parameters Accept=application/json, application/xml, text/json, text/x-json, text/javascript, text/xml
            // Response of request GET against resource api/Albums/11 - Completed

            // 4. Similar logs are generated for all additional API assertion methods.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentNotEqualsRammstein
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is not equal to Rammstein.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentEquals
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is equal to {"albumId":10,"title":"Audioslave","artistId":8,"artist":null,"tracks":[]}.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentNotContainsRammstein
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content does not contain Rammstein.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertResultEquals
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is equal to Bellatrix.API.GettingStarted.Models.Albums.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertCookieExists
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response cookie whoIs exists.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertResponseHeaderServerIsEqualToKestrel
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response header is equal to server.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertResultNotEquals
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content is not equal to Bellatrix.API.GettingStarted.Models.Albums.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentContainsAudioslave
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response content contains Audioslave.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertContentTypeJson
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response Content-Type is equal to application/json; charset=utf-8.
            // Assert response header is equal to Content-Type.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertExecutionTimeUnderIsUnderOneSecond
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response execution time is under 1.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertCookieWhoIsBella
            // Making GET request against resource api/Albums/10
            // Response of request GET against resource api/Albums/10 - Completed
            // Assert response cookie is equal to whoIs=Bella.
            // Assert response cookie whoIs exists.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertSuccessStatusCode
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response status code is successfull.
            // Start Test
            // Class = ApiAssertionsTests Name = AssertStatusCodeOk
            // Making GET request against resource api/Albums
            // Response of request GET against resource api/Albums - Completed
            // Assert response status code is equal to OK.
        }