public async Task PostToDoItem_CreatedANewToDoItemAsync() { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user, ApiVersion)) { var todo = new ToDoItem { Name = "TODO 1", IsComplete = false }; var response = await client.PostAsJsonAsync("todos", todo); response.StatusCode.Should().Be(HttpStatusCode.Created); response.Headers.Location.Should().NotBeNull(); var getResponse = await client.GetAsync(response.Headers.Location); getResponse.StatusCode.Should().Be(HttpStatusCode.OK); var savedToDo = await getResponse.Content.ReadAsAsync <ToDoItem>(); savedToDo.ToDoId.Should().NotBeEmpty(); savedToDo.Name.Should().Be("TODO 1"); savedToDo.IsComplete.Should().Be(false); } }
public async void DeleteToDoItem_DeletesToDoItem() { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user, ApiVersion)) { var todo = new ToDoItem { Name = "TODO 1", IsComplete = false }; var response = await client.PostAsJsonAsync("todos", todo); response.StatusCode.Should().Be(HttpStatusCode.Created); response.Headers.Location.Should().NotBeNull(); var initialGetResponse = await client.GetAsync(response.Headers.Location); initialGetResponse.StatusCode.Should().Be(HttpStatusCode.OK); var deleteResponse = await client.DeleteAsync(response.Headers.Location); deleteResponse.StatusCode.Should().Be(HttpStatusCode.NoContent); var afterDeleteGetResponse = await client.GetAsync(response.Headers.Location); afterDeleteGetResponse.StatusCode.Should().Be(HttpStatusCode.NotFound); } }
public async void GetSchedules_RequiresApiVersion3(string apiVersion, HttpStatusCode expectedResult) { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user, apiVersion)) { var response = await client.GetAsync("todos"); response.StatusCode.Should().Be(expectedResult); } }
public async void GetNonExistentToDo_ReturnsNotFound() { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user, ApiVersion)) { var response = await client.GetAsync("todos/12345678-abcd-1234-abcd-1234567890ab"); response.StatusCode.Should().Be(HttpStatusCode.NotFound); } }
public async Task PublishMessageMinimal() { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user, "3")) { var response = await client.PostAsJsonAsync("messaging/publishmessageminimal", new OtherExampleFooCreatedV1 { Foo = "test content" }); response.StatusCode.Should().Be(HttpStatusCode.OK); } }
public async Task Info_MissingInternalScope() { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user)) { var response = await client.GetAsync("_info"); response.StatusCode.Should().Be(HttpStatusCode.Forbidden); } }
public async Task Info_MissingClaims(string claimToRemove) { var user = new ApiClient.User(); user.Claims.Remove(claimToRemove); using (var client = await ApiClient.CreateHttpClient(user)) { var response = await client.GetAsync("_info"); response.StatusCode.Should().Be(HttpStatusCode.Forbidden); } }
public async Task Info_MissingScope() { var user = new ApiClient.User { Scopes = new [] { "unknown-scope" } }; using (var client = await ApiClient.CreateHttpClient(user)) { var response = await client.GetAsync("_info"); response.StatusCode.Should().Be(HttpStatusCode.Forbidden); } }
public async void GetTodos_ReturnsEmptyList() { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user, ApiVersion)) { var response = await client.GetAsync("todos"); response.StatusCode.Should().Be(HttpStatusCode.OK); var content = await response.Content.ReadAsAsync <ToDoItem[]>(); content.Should().HaveCount(0); } }
public async Task PublishMessage() { var user = new ApiClient.User(); using (var client = await ApiClient.CreateHttpClient(user, "3")) { var response = await client.PostAsJsonAsync( "messaging/publish", new SendMessageRequest { MessageContent = new OtherExampleFooCreatedV1 { Foo = "test content" }, InteractionGuid = Guid.NewGuid(), AdditionalDebugInfo = "test debug info", NumberOfTimesToSend = 3 }); response.StatusCode.Should().Be(HttpStatusCode.OK); } }
public async Task Info_Ok(string oidcIssuer) { var user = new ApiClient.User { OidcIssuer = oidcIssuer, Scopes = new [] { "dotnetgrpcservice-api", "internal" } }; using (var client = await ApiClient.CreateHttpClient(user)) { var response = await client.GetAsync("_info"); response.StatusCode.Should().Be(HttpStatusCode.OK); var content = await response.Content.ReadAsStringAsync(); var jToken = JToken.Parse(content); jToken["version"].ToString().Should().NotBeNullOrEmpty(); jToken["hostname"].ToString().Should().NotBeNullOrEmpty(); } }