Example #1
0
        /// <summary>
        /// Setups mock to return model when dataset identifiers are given as input
        /// </summary>
        /// <param name="metadata"></param>
        /// <returns></returns>
        private static Mock <IMetadataService> SetupMetadataServiceMockToReturnModel(Metadata metadata)
        {
            var metadataServiceMock = new Mock <IMetadataService>();

            foreach (var dataset in metadata.dataset)
            {
                metadataServiceMock.Setup(m =>
                                          m.GetMetadataModel(OpenMetadataService.GetIdentifierFromUri(dataset.identifier)))
                .Returns(MetadataViewModel);
            }

            return(metadataServiceMock);
        }
Example #2
0
        public async Task ShouldUpdateMetadataWhenItAlreadyExistsInGeonorge()
        {
            var metadataFetcherMock = new Mock <IOpenMetadataFetcher>();

            Metadata metadata = SetupMetadataFetcherMock(metadataFetcherMock, _endpoint);

            var metadataServiceMock = SetupMetadataServiceMockToReturnModel(metadata);

            var openMetadataService = new OpenMetadataService(metadataServiceMock.Object, metadataFetcherMock.Object);

            var numberOfUpdatedDatasets = await openMetadataService.SynchronizeMetadata(_endpoint);

            metadataServiceMock
            .Verify(m => m.CreateMetadata(It.IsAny <MetadataCreateViewModel>(), It.IsAny <string>()), Times.Exactly(0));

            metadataServiceMock
            .Verify(m => m.SaveMetadataModel(It.IsAny <MetadataViewModel>(), It.IsAny <string>()), Times.Exactly(16));

            numberOfUpdatedDatasets.Should().Be(16);
        }