public async Task <string> GetGraphQLSpecifiedFieldsAsync() { _ = this.token ?? throw new InvalidOperationException(nameof(this.token)); var httpClient = HttpClientTest.GetHttpClient(address); httpClient.DefaultRequestHeaders.Add("Token", this.token); var httpResponseMessage = await httpClient.PostAsJsonAsync("api/v1/graphql", new { Query = @" query { Database(name:""GameData_KOR_Dev"") { ID Name IsEntered Tags Tables { Name Tags Columns { Name DefaultValue Tags } } } }" }); return(await httpResponseMessage.Content.ReadAsStringAsync()); }
public async Task ShouldBeReturned_AllTags_InTheDatabase() { await AuthenticateAsync(); var response = await HttpClientTest .GetAsync(_requestUri); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.OK); (await response.Content.ReadAsAsync <PagedResponse <TagResponse> >()) .Data.Should() .NotBeNullOrEmpty().And .SatisfyRespectively( tag1 => { tag1.Id.Should().Be(Guid.Parse("5d5e9a28-7c3e-4c2a-8098-b866eab33e61")); tag1.Name.Should().Be("Tag_1"); }, tag2 => { tag2.Id.Should().Be(Guid.Parse("d94e6e00-96d0-4fc7-b621-c7746705b471")); tag2.Name.Should().Be("Tag_2"); }); }
public async Task ShouldBeReturned_AllPosts_InTheDatabase() { await AuthenticateAsync(); var response = await HttpClientTest .GetAsync(_requestUri); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.OK); (await response.Content.ReadAsAsync <PagedResponse <PostResponse> >()) .Data.Should() .NotBeNullOrEmpty().And .SatisfyRespectively( post1 => { post1.Id.Should().Be(Guid.Parse("b65afc54-d766-4377-8c89-22662582174e")); post1.Title.Should().Be("Post 1"); post1.Content.Should().Be("First post content"); post1.Attachments.Should().Be("post1img1.jpg,post1img2.jpg"); post1.AuthorId.Should().Be(Guid.Parse("d4182477-0823-4908-be1d-af808e594306")); }, post2 => { post2.Id.Should().Be(Guid.Parse("a06ba60c-c999-4de3-aa23-4f0c13bd71ad")); post2.Title.Should().Be("Post 2"); post2.Content.Should().Be("Second post content"); post2.Attachments.Should().Be("post2img1.jpg,post2img2.jpg"); post2.AuthorId.Should().Be(Guid.Parse("9ab3d110-71e1-418f-86eb-519146e7d702")); }); }
public async Task ShouldBeReturned_PostResponse_IfAuthorIdExistsInDatabase() { var validId = Guid.Parse("b65afc54-d766-4377-8c89-22662582174e"); var expectedPostResponse = new Response <PostResponse>( new PostResponse { Id = validId, Title = "Post 1", Content = "First post content", Attachments = "post1img1.jpg,post1img2.jpg", AuthorId = Guid.Parse("d4182477-0823-4908-be1d-af808e594306") }); await AuthenticateAsync(); var response = await HttpClientTest.GetAsync( _requestUri.Replace("{postId}", validId.ToString())); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.OK); (await response.Content.ReadAsAsync <Response <PostResponse> >()) .Data.Should() .NotBeNull().And .BeEquivalentTo(expectedPostResponse, x => x.ExcludingMissingMembers()); }
public async Task ShouldBeReturned_AuthorResponse_IfAuthorIdExistsInDatabase() { var validId = Guid.Parse("9ab3d110-71e1-418f-86eb-519146e7d702"); var expectedAuthorResponse = new Response <AuthorResponse>( new AuthorResponse { Id = validId, FirstName = "Maria", Email = "*****@*****.**" }); await AuthenticateAsync(); var response = await HttpClientTest.GetAsync( _requestUri.Replace("{authorId}", validId.ToString())); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.OK); (await response.Content.ReadAsAsync <Response <AuthorResponse> >()) .Data.Should() .NotBeNull().And .BeEquivalentTo(expectedAuthorResponse, x => x.ExcludingMissingMembers()); }
public async Task ShouldBeReturned_AllAuthors_InTheDatabase() { await AuthenticateAsync(); var response = await HttpClientTest .GetAsync(_requestUri); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.OK); (await response.Content.ReadAsAsync <PagedResponse <AuthorResponse> >()) .Data.Should() .NotBeNullOrEmpty().And .SatisfyRespectively( author1 => { author1.Id.Should().Be(Guid.Parse("d4182477-0823-4908-be1d-af808e594306")); author1.FirstName.Should().Be("João"); author1.Email.Should().Be("*****@*****.**"); }, author2 => { author2.Id.Should().Be(Guid.Parse("9ab3d110-71e1-418f-86eb-519146e7d702")); author2.FirstName.Should().Be("Maria"); author2.Email.Should().Be("*****@*****.**"); }); }
public async Task ShouldBeReturned_TagResponse_IfTagIdExistsInDatabase() { var validId = Guid.Parse("5d5e9a28-7c3e-4c2a-8098-b866eab33e61"); var expectedTagResponse = new Response <TagResponse>( new TagResponse { Id = validId, Name = "Tag_1" }); await AuthenticateAsync(); var response = await HttpClientTest.GetAsync( _requestUri.Replace("{tagId}", validId.ToString())); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.OK); (await response.Content.ReadAsAsync <Response <TagResponse> >()) .Data.Should() .NotBeNull().And .BeEquivalentTo(expectedTagResponse, x => x.ExcludingMissingMembers()); }
public async Task <string> GetHttpApiAsync() { _ = this.token ?? throw new InvalidOperationException(nameof(this.token)); var httpClient = HttpClientTest.GetHttpClient(address, null, this.token); var httpResponseMessage = await httpClient.GetAsync($"api/v1/commands/databases/{HttpBenchmark.DatabaseName}/tables/*/info"); return(await httpResponseMessage.Content.ReadAsStringAsync()); }
public async Task LogoutAsync() { _ = this.token ?? throw new InvalidOperationException(nameof(this.token)); var httpClient = HttpClientTest.GetHttpClient(address, null, this.token); var httpResponseMessage = await httpClient.PostAsJsonAsync("api/v1/commands/logout", new { UserID = userId, Password = password }); await JsonExtensions.ReadAsDynamicAsync(httpResponseMessage.Content); }
public async Task <string> LoginAsync() { var httpClient = HttpClientTest.GetHttpClient(address); var httpResponseMessage = await httpClient.PostAsJsonAsync($"api/v1/commands/login/databases/{HttpBenchmark.DatabaseName}/load-and-enter", new { UserID = userId, Password = password }); var response = await JsonExtensions.ReadAsDynamicAsync(httpResponseMessage.Content); this.token = response.Token.ToString(); return(response.Token.ToString()); }
public async Task ShouldBeReturned_NotFoundResponse_IfTagIdNotExists() { await AuthenticateAsync(); var randomId = Guid.NewGuid().ToString(); var response = await HttpClientTest.DeleteAsync( _requestUri.Replace("{tagId}", randomId)); response.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task ShouldBeReturned_SuccessAuthResponse_IfCredentialsIsValid() { var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _authorLoginRequest); response.StatusCode.Should().Be(HttpStatusCode.OK); (await response.Content.ReadAsAsync <AuthSuccessResponse>()) .Token.Should().NotBeNullOrEmpty(); _output.WriteLine($"Valor entrada: {JObject.FromObject(_authorLoginRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task ShouldBeReturned_NotFoundResponse_IfPostIdNotExistsInDatabase() { var randomId = Guid.NewGuid().ToString(); await AuthenticateAsync(); var response = await HttpClientTest.GetAsync( _requestUri.Replace("{postId}", randomId)); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task ShouldBeReturned_NotFoundResponse_IfTagIdNotExists() { await AuthenticateAsync(); var randomId = Guid.NewGuid().ToString(); var response = await HttpClientTest.PutAsJsonAsync( _requestUri.Replace("{tagId}", randomId), _updateTagRequest); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task ShouldBeReturned_SuccessResetPasswordResponse() { var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _authorResetPasswordRequest); var content = await response.Content .ReadAsAsync <ResetPasswordSuccessResponse>(); response.StatusCode.Should().Be(HttpStatusCode.OK); content.Reseted.Should().BeTrue(); content.SuccessMessage.Should() .Be("Senha redefinida com sucesso"); }
public async Task Login_AuthenticationController_RespostaComSucessoEUsuarioRecebeTokenDeAcesso() { var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _loginRequest); response.StatusCode.Should().Be(HttpStatusCode.OK); var authResponse = await response.Content.ReadAsAsync <AutenticacaoComSucessoResponse>(); authResponse.Mensagem.Should().Be(Dicionario.MS001); authResponse.Token.Should().NotBeNullOrEmpty(); authResponse.Usuario.Email.Should().Be(_loginRequest.Email); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_loginRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task ShouldBeReturned_SuccessResponse_AndDeleteTagInTheDatabase() { await AuthenticateAsync(); var tagId = "5d5e9a28-7c3e-4c2a-8098-b866eab33e61"; var response = await HttpClientTest.DeleteAsync( _requestUri.Replace("{tagId}", tagId)); response.StatusCode.Should().Be(HttpStatusCode.NoContent); var deletedTagResponse = await HttpClientTest.GetAsync( ApiRoutes.Tags.Get.Replace("{tagId}", tagId)); deletedTagResponse.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task ShouldBeReturned_SuccessResponse_AndDeleteAuthorInTheDatabase() { await AuthenticateAsync(); var authorId = "d4182477-0823-4908-be1d-af808e594306"; var response = await HttpClientTest.DeleteAsync( _requestUri.Replace("{authorId}", authorId)); response.StatusCode.Should().Be(HttpStatusCode.NoContent); var deletedAuthorResponse = await HttpClientTest.GetAsync( ApiRoutes.Authors.Get.Replace("{authorId}", authorId)); deletedAuthorResponse.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task ShouldBeReturned_FailerAuthResponse_IfPasswordIsInvalid() { _authorLoginRequest.Password = _faker.Internet.Password(); var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _authorLoginRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); (await response.Content.ReadAsAsync <AuthFailedResponse>()) .Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { "Email/password combination is invalid" }); _output.WriteLine($"Valor entrada: {_authorLoginRequest.Password} | Resultado teste: {response.StatusCode}"); }
public async Task ShouldBeReturned_FailerAuthResponse_IfEmailIsInvalid() { _authorLoginRequest.Email = _faker.Person.Email; var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _authorLoginRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); (await response.Content.ReadAsAsync <AuthFailedResponse>()) .Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { "Author does not exist" }); _output.WriteLine($"Valor entrada: {_authorLoginRequest.Email} | Resultado teste: {response.StatusCode}"); }
public async Task ShouldBeReturned_FailedResponse_IfAlreadyExistsEqualsEmail(string alreadyRegisteredEmail) { _authorRegistrationhorRequest.Email = alreadyRegisteredEmail; var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _authorRegistrationhorRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); (await response.Content.ReadAsAsync <AuthFailedResponse>()) .Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { "Author with this email already exists" }); _output.WriteLine($"Valor entrada: {alreadyRegisteredEmail} | Resultado teste: {response.StatusCode}"); }
public async Task ShouldBeReturned_SuccessResponse_AndDeletePostInTheDatabase() { await AuthenticateAsync(); var postId = "a06ba60c-c999-4de3-aa23-4f0c13bd71ad"; var response = await HttpClientTest.DeleteAsync( _requestUri.Replace("{postId}", postId)); response.StatusCode.Should().Be(HttpStatusCode.NoContent); var deletedPostResponse = await HttpClientTest.GetAsync( ApiRoutes.Posts.Get.Replace("{postId}", postId)); deletedPostResponse.StatusCode.Should().Be(HttpStatusCode.NotFound); }
public async Task ResetarSenha_AutenticacaoController_RespostaComFalhaSeEmailNaoExiste() { _resetarSenhaRequest.Email = Faker.Person.Email; var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _resetarSenhaRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); var authResponse = await response.Content .ReadAsAsync <AutenticacaoComFalhaResponse>(); authResponse.Mensagem.Should() .Be(Dicionario.ME001); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task ResetarSenha_AutenticacaoController_RespostaDeSucessoESenhaDoUsuarioResetada() { _resetarSenhaRequest.Email = "*****@*****.**"; var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _resetarSenhaRequest); response.StatusCode.Should().Be(HttpStatusCode.OK); var authResponse = await response.Content .ReadAsAsync <AutenticacaoComSucessoResponse>(); authResponse.Mensagem.Should() .Be(Dicionario.MS002); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task ResetarSenha_AutenticacaoController_RespostaComFalhaSeSenhaEhNulaOuVazia(string senhaInvalida) { _resetarSenhaRequest.Senha = senhaInvalida; var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _resetarSenhaRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); var authResponse = await response.Content .ReadAsAsync <AutenticacaoComFalhaResponse>(); authResponse.Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { Dicionario.MV013 }); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task ResetarSenha_AutenticacaoController_RespostaComFalhaSeConfirmacaoDeSenhaNaoForIgualASenha() { _resetarSenhaRequest.ConfirmacaoSenha = Faker.Internet.Password(); var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _resetarSenhaRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); var authResponse = await response.Content .ReadAsAsync <AutenticacaoComFalhaResponse>(); authResponse.Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { Dicionario.MV015 }); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_resetarSenhaRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task ShouldBeReturned_SuccessResponse_AndRegisterNewTag() { await AuthenticateAsync(); var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _createTagRequest); _output.WriteLine($"Response: {await response.Content.ReadAsStringAsync()}"); response.StatusCode.Should().Be(HttpStatusCode.Created); (await response.Content.ReadAsAsync <Response <TagResponse> >()) .Data.Should().BeEquivalentTo(new Response <TagResponse>( new TagResponse { Name = _createTagRequest.Name }), x => x.ExcludingMissingMembers()); }
public async Task RegistrarUsuario_AutenticacaoController_RespostaComFalhaSeSobrenomePossuirMenosDe4Caracteres() { _registrarUsuarioRequest.Sobrenome = Faker.Random.String2(1, 3); var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _registrarUsuarioRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); var authResponse = await response.Content .ReadAsAsync <AutenticacaoComFalhaResponse>(); authResponse.Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { Dicionario.MV008 }); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_registrarUsuarioRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task RegistrarUsuario_AutenticacaoController_RespostaComFalhaSeNomeEhNuloOuVazio(string nomeInvalido) { _registrarUsuarioRequest.Nome = nomeInvalido; var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _registrarUsuarioRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); var authResponse = await response.Content .ReadAsAsync <AutenticacaoComFalhaResponse>(); authResponse.Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { Dicionario.MV005 }); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_registrarUsuarioRequest)} | Resultado teste: {response.StatusCode}"); }
public async Task RegistrarUsuario_AutenticacaoController_RespostaComFalhaSeNomeTiverCaracteresEspeciaisOuNumeros() { _registrarUsuarioRequest.Nome = Faker.Random.String2(5, 10, chars: "abc123#@$"); var response = await HttpClientTest .PostAsJsonAsync(_requestUri, _registrarUsuarioRequest); response.StatusCode.Should().Be(HttpStatusCode.BadRequest); var authResponse = await response.Content .ReadAsAsync <AutenticacaoComFalhaResponse>(); authResponse.Errors.Should() .HaveCount(1).And .BeEquivalentTo(new[] { Dicionario.MV009 }); Output.WriteLine($@"Valor entrada: {JsonSerializer.Serialize(_registrarUsuarioRequest)} | Resultado teste: {response.StatusCode}"); }