public void AssertSuccessStatusCode() { var request = new RestRequest("api/Albums"); var response = _apiClientService.Get(request); response.AssertSuccessStatusCode(); }
public void AssertSuccessStatusCode() { var request = new RestRequest("api/Albums"); var response = _apiClientService.Get(request); // 1. Assert that the status code is successful. response.AssertSuccessStatusCode(); }
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); }); }
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); }
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); }
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); }); }
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. }
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. }