コード例 #1
0
        public async Task GetPublishedSchema()
        {
            // arrange
            IMongoCollection <Schema> schemas =
                _mongoResource.CreateCollection <Schema>();
            IMongoCollection <SchemaVersion> versions =
                _mongoResource.CreateCollection <SchemaVersion>();
            IMongoCollection <SchemaPublishReport> publishReports =
                _mongoResource.CreateCollection <SchemaPublishReport>();
            IMongoCollection <PublishedSchema> publishedSchemas =
                _mongoResource.CreateCollection <PublishedSchema>();

            var repository = new SchemaRepository(
                schemas, versions, publishReports, publishedSchemas);

            var initial = new PublishedSchema(
                Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid());
            await publishedSchemas.InsertOneAsync(initial);

            // act

            await repository.GetPublishedSchemaAsync(
                initial.SchemaId, initial.EnvironmentId);

            // assert
            PublishedSchema retrieved =
                await publishedSchemas.AsQueryable().FirstOrDefaultAsync();

            Assert.NotNull(retrieved);
            Assert.Equal(initial.Id, retrieved.Id);
            Assert.Equal(initial.EnvironmentId, retrieved.EnvironmentId);
            Assert.Equal(initial.SchemaId, retrieved.SchemaId);
            Assert.Equal(initial.SchemaVersionId, retrieved.SchemaVersionId);
        }