Ejemplo n.º 1
0
        public void StaticRouter_Verify_SchemaImport(SchemaImportRequest expectedRequest, string inCommandLine)
        {
            var router = new StaticCommandLineRouterFixture()
            {
                WithRouteValidator = new RouteRequestValidatorFixture().Mock()
            }.Build();

            var actual = router.GetOne(RoutingMetadata.Value.Values, inCommandLine.Split(' '));

            actual.Should().NotBeNull();
            actual.Should().BeAssignableTo <SchemaImportRequest>();
            actual.Should().BeEquivalentTo(expectedRequest);
        }
        public async Task ShouldThrowFileTransferNotFoundException()
        {
            // Assert
            await Assert.ThrowsAsync <FileTransferNotFoundException>(async() =>
            {
                // Act
                var request = new SchemaImportRequest()
                {
                    FileTransferId           = Guid.NewGuid().ToString(),
                    AllowMissingDependencies = true,
                    ImportListItems          = true
                };

                await _client.SchemaTransfer.ImportAsync(request).ConfigureAwait(false);
            }).ConfigureAwait(false);
        }
        public async Task ShouldImportPlanetSchema()
        {
            // Arrange
            const string schemaId = "Planet";

            var transferName = new Random().Next(1000, 9999).ToString();

            var files = new FileLocations[]
            {
                Path.Combine(_fixture.ExampleSchemaBasePath, "Planet.json")
            };

            var createTransferResult = await _client.Transfer.UploadFilesAsync(transferName, files, new UploadOptions()).ConfigureAwait(false);

            // get the only uploaded file
            var fileTransfers = await _client.Transfer.SearchFilesByTransferIdAsync(createTransferResult.Transfer.Id).ConfigureAwait(false);

            var request = new SchemaImportRequest()
            {
                FileTransferId           = fileTransfers.Results.First().Id,
                AllowMissingDependencies = true,
                ImportListItems          = false
            };

            // Act
            // import schema
            var transfer = await _client.SchemaTransfer.ImportAsync(request).ConfigureAwait(false);

            // wait for completion
            await _client.BusinessProcess.WaitForCompletionAsync(transfer.BusinessProcessId).ConfigureAwait(false);

            var schema = await _client.Schema.GetAsync(schemaId).ConfigureAwait(false);

            // Assert
            Assert.Equal(schema.Id, schemaId);

            /// Tear down
            await _client.Schema.DeleteAsync(schema.Id).ConfigureAwait(false);
        }