public async Task CreateTest() { var createRequest = new TransformConfigCreate { ExternalId = "jetfire-cli-create-test", Name = "Test: Create from C# API", Query = "Foo", }; var configId = await client.TransformConfigCreate(createRequest); try { Assert.True(configId.Id > 0); var list = await client.TransformConfigList(); var config = Assert.Single(list.Where(x => x.Id == configId.Id)); Assert.Equal(createRequest.Name, config.Name); Assert.Equal(createRequest.Query, config.Query); } finally { await client.TransformConfigDelete(configId.Id); } }
public async Task ExternalIdTest() { var createRequest = new TransformConfigCreate { ExternalId = "Foo", Name = "Test: Create from C# API", Query = "Foo", }; var configId = await client.TransformConfigCreate(createRequest); try { Assert.True(configId.Id > 0); var list = await client.TransformConfigList(); var config = Assert.Single(list.Where(x => x.Id == configId.Id)); Assert.Equal(createRequest.Name, config.Name); Assert.Equal(createRequest.Query, config.Query); var duplicateExtIdException = await Assert.ThrowsAsync <JetfireApiException>( () => client.TransformConfigCreate(createRequest)); Assert.Equal(HttpMethod.Post, duplicateExtIdException.Method); Assert.Equal(HttpStatusCode.BadRequest, duplicateExtIdException.StatusCode); Assert.Equal("Duplicate externalId is not allowed", duplicateExtIdException.Error.Message); var invalidExternalIdConfig = new TransformConfigCreate { ExternalId = " foo bar ", Name = "Test: Create from C# API", Query = "Foo" }; var invalidExternalId = await Assert.ThrowsAsync <JetfireApiException>( () => client.TransformConfigCreate(invalidExternalIdConfig)); Assert.Equal(HttpMethod.Post, invalidExternalId.Method); Assert.Equal(HttpStatusCode.BadRequest, invalidExternalId.StatusCode); Assert.Equal("ExternalId is invalid", invalidExternalId.Error.Message); invalidExternalIdConfig.ExternalId = "foo?bar"; invalidExternalId = await Assert.ThrowsAsync <JetfireApiException>( () => client.TransformConfigCreate(invalidExternalIdConfig)); Assert.Equal(HttpMethod.Post, invalidExternalId.Method); Assert.Equal(HttpStatusCode.BadRequest, invalidExternalId.StatusCode); Assert.Equal("ExternalId is invalid", invalidExternalId.Error.Message); } finally { await client.TransformConfigDelete(configId.Id); } }
public Task <TransformConfigId> TransformConfigCreate(TransformConfigCreate request, CancellationToken ct = default) => SendAsync <TransformConfigCreate, TransformConfigId>(HttpMethod.Post, "/api/transform/config", request, ct);