public async Task Put_NewMetadataTypeAndTag_GetByName_EndpointsReturnSuccess_CorrectContentType(string url) { // Arrange var client = _factory.CreateDefaultClient(); NewUserResource newUserResource = new NewUserResource(); newUserResource.Mail = "*****@*****.**"; newUserResource.Password = "******"; newUserResource.UserType = UserType.Municipality; await client.PutAsync("api/user", ResponseSerializer.Serialize(newUserResource)); AuthUserResource loginResource = new AuthUserResource(); loginResource.Mail = newUserResource.Mail; loginResource.Password = newUserResource.Password; var loginResponse = await client.PostAsync("/api/user/auth", ResponseSerializer.Serialize(loginResource)); Assert.NotNull(loginResponse.Content); var user = ResponseSerializer.Extract <PrivateSafeUserResource>(loginResponse); Assert.Equal(loginResource.Mail, user.Mail); string token = user.Token; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); var newCategory = new SaveMetadataCategoryResource { ParentUuid = null, Name = "Test Category" }; var newCategoryResponse = await client.PutAsync("api/metadatacategory", ResponseSerializer.Serialize(newCategory)); newCategoryResponse.EnsureSuccessStatusCode(); var category = ResponseSerializer.Extract <MetadataCategory>(newCategoryResponse); SaveMetadataTypeResource newMetadataTypeResource = new SaveMetadataTypeResource { CategoryUuid = category.Uuid, Name = "Test" }; // Act var metadataTypeResponse = await client.PutAsync(url, ResponseSerializer.Serialize(newMetadataTypeResource)); var metadataType = ResponseSerializer.Extract <MetadataTypeResource>(metadataTypeResponse); var responseForGetByName = await client.GetAsync(url + "/" + metadataType.Uuid); // Assert metadataTypeResponse.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", metadataTypeResponse.Content.Headers.ContentType.ToString()); responseForGetByName.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", responseForGetByName.Content.Headers.ContentType.ToString()); }
public async Task Get_EndpointsReturnSuccess(string url) { // Arrange var client = _factory.CreateDefaultClient(); // Act var response = await client.GetAsync(url); // Assert response.EnsureSuccessStatusCode(); // Status Code 200-299 }
public async Task Get_InvalidScope_ReturnsUnauthorizedResult(string url) { // Arrange var client = _factory.CreateDefaultClient(); var expected = HttpStatusCode.Unauthorized; // Act var response = await client.GetAsync(url); // Assert Assert.Equal(expected, response.StatusCode); }
public async Task Get_EndpointsReturnSuccess_CorrectContentType(string url) { // Arrange var client = _factory.CreateDefaultClient(); // Act var response = await client.GetAsync(url); // Assert response.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", response.Content.Headers.ContentType.ToString()); }
public OrderControllerTests(CustomWebApplicationFactory <Startup> factory) { _httpClient = factory.CreateDefaultClient(); _scope = (factory.Services.GetRequiredService <IServiceScopeFactory>()).CreateScope(); _context = _scope.ServiceProvider.GetRequiredService <AppDbContext>(); // database is now shared across tests _context.Database.EnsureCreated(); }
public async Task Put_NewDataFormat_EndpointsReturnSuccess_CorrectContentType(string url) { // Arrange var client = _factory.CreateDefaultClient(); NewUserResource newUserResource = new NewUserResource(); newUserResource.Mail = "*****@*****.**"; newUserResource.Password = "******"; newUserResource.UserType = UserType.Municipality; await client.PutAsync("api/user", new StringContent(JsonSerializer.Serialize(newUserResource), Encoding.UTF8, "application/json")); AuthUserResource loginResource = new AuthUserResource(); loginResource.Mail = newUserResource.Mail; loginResource.Password = newUserResource.Password; var loginResponse = await client.PostAsync("/api/user/auth", new StringContent(JsonSerializer.Serialize(loginResource), Encoding.UTF8, "application/json")); Assert.NotNull(loginResponse.Content); var user = ResponseSerializer.Extract <PrivateSafeUserResource>(loginResponse); Assert.Equal(loginResource.Mail, user.Mail); string token = user.Token; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); // Act NewDataFormatResource resource = new NewDataFormatResource(); resource.Name = "Data Resource"; resource.MimeType = "Mime Type"; resource.Description = "Some DEscription..."; resource.DocumentationUrl = "URL"; var response = await client.PutAsync(url, new StringContent(JsonSerializer.Serialize(resource), Encoding.UTF8, "application/json")); // Assert response.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", response.Content.Headers.ContentType.ToString()); }
public MetricMiddlewareTests(CustomWebApplicationFactory <Startup> factory) { _client = factory.CreateDefaultClient(); _factory = factory; }
public ToDoAPITest(CustomWebApplicationFactory <Startup> factory) { client = factory.CreateDefaultClient(); client.DefaultRequestVersion = HttpVersion.Version20; }
public BaseControllerTest(CustomWebApplicationFactory <Startup> factory) { this.factory = factory; httpClient = factory.CreateDefaultClient(new Uri("http://localhost/api/")); }
public async Task Put_NewReleasedMetaData_NewDataSource_GetMetaData_GetMetaDataLike_AttachExperiencePost_EndpointsReturnSuccess_CorrectContentType() { // Arrange var client = _factory.CreateDefaultClient(); NewUserResource newUserResource = new NewUserResource(); newUserResource.Mail = "*****@*****.**"; newUserResource.Password = "******"; newUserResource.UserType = UserType.Municipality; await client.PutAsync("api/user", new StringContent(JsonSerializer.Serialize(newUserResource), Encoding.UTF8, "application/json")); AuthUserResource loginResource = new AuthUserResource(); loginResource.Mail = newUserResource.Mail; loginResource.Password = newUserResource.Password; var loginResponse = await client.PostAsync("/api/user/auth", new StringContent(JsonSerializer.Serialize(loginResource), Encoding.UTF8, "application/json")); Assert.NotNull(loginResponse.Content); var user = ResponseSerializer.Extract <PrivateSafeUserResource>(loginResponse); Assert.Equal(loginResource.Mail, user.Mail); string token = user.Token; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); SaveMetadataResource metaDataResource = new SaveMetadataResource(); metaDataResource.Description = "Test Description"; metaDataResource.MunicipalityName = "Test"; metaDataResource.ReleaseState = EReleaseState.Released; // Act var metaDataResponse = await client.PutAsync("/api/metadata", new StringContent(JsonSerializer.Serialize(metaDataResource), Encoding.UTF8, "application/json")); var metadata = ResponseSerializer.Extract <Metadata>(metaDataResponse); var metaDataGetResponse = await client.GetAsync("/api/metadata/" + metadata.Uuid); var metaDataLikeGetResponse = await client.GetAsync("/api/metadata/" + metadata.Uuid + "/like"); Assert.Equal(user.MunicipalityName, metadata.MunicipalityName); SaveExperiencePostResource experiencePostResource = new SaveExperiencePostResource(); var experienceResponse = await client.PutAsync("/api/metadata/" + metadata.Uuid + "/experience", new StringContent(JsonSerializer.Serialize(experiencePostResource), Encoding.UTF8, "application/json")); NewDataFormatResource dataFormatResource = new NewDataFormatResource(); dataFormatResource.Name = "Name of this dataformat"; dataFormatResource.Description = "Describing this dataformat"; dataFormatResource.DocumentationUrl = "this URL"; dataFormatResource.MimeType = "this MimeType"; var dataFormatResponse = await client.PutAsync("/api/dataformat", new StringContent(JsonSerializer.Serialize(dataFormatResource), Encoding.UTF8, "application/json")); var dataformat = ResponseSerializer.Extract <DataFormat>(dataFormatResponse); NewDataSourceResource dataSourceResource = new NewDataSourceResource(); dataSourceResource.MetadataUuid = metadata.Uuid; dataSourceResource.Url = "This cool url"; dataSourceResource.Description = "Some test source"; dataSourceResource.StartDate = System.DateTime.MinValue; dataSourceResource.EndDate = System.DateTime.MaxValue; dataSourceResource.DataFormatMimeType = dataformat.MimeType; Assert.NotEqual(dataSourceResource.StartDate, dataSourceResource.EndDate); var dataSourceResponse = await client.PutAsync("/api/metadata/url", new StringContent(JsonSerializer.Serialize(dataSourceResource), Encoding.UTF8, "application/json")); // Assert metaDataResponse.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", metaDataResponse.Content.Headers.ContentType.ToString()); metaDataGetResponse.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", metaDataGetResponse.Content.Headers.ContentType.ToString()); metaDataLikeGetResponse.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", metaDataLikeGetResponse.Content.Headers.ContentType.ToString()); experienceResponse.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", experienceResponse.Content.Headers.ContentType.ToString()); dataSourceResponse.EnsureSuccessStatusCode(); // Status Code 200-299 Assert.Equal("application/json; charset=utf-8", dataSourceResponse.Content.Headers.ContentType.ToString()); }