public void Build(IResourceCatalog resourceCatalog) { LoadProvider = new ResourceLoadProvider(_workspaceResources, _managementServices); SyncProvider = new ResourceSyncProvider(); DeleteProvider = new ResourceDeleteProvider(resourceCatalog, _versionRepository); RenameProvider = new ResourceRenameProvider(resourceCatalog, _versionRepository); SaveProvider = new ResourceSaveProvider(resourceCatalog, _versionRepository); DuplicateProvider = new ResourceDuplicateProvider(resourceCatalog); }
public void ResourceSaveProvider_SaveResources_GivenSomethingFails_ShouldExpectFail() { var destinationPath = EnvironmentVariables.ResourcePath + "\\Dev2\\Tests\\ResourceCatalog\\Duplicate_Destination"; var test_exceptionMessage = "test_message: false exception ResourceSaveProvider"; var workspaceId = GlobalConstants.ServerWorkspaceID; var resourceID = Guid.NewGuid(); var expected = new DbSource { ResourceID = resourceID, ResourceName = "TestSource", DatabaseName = "TestNewDb", Server = "TestNewServer", ServerType = enSourceType.MySqlDatabase }; var mockResourceCatalog = new Mock <IResourceCatalog>(); mockResourceCatalog.Setup(o => o.GetResources(workspaceId)) .Returns(new List <Common.Interfaces.Data.IResource> { expected }); mockResourceCatalog.Setup(o => o.Parse(workspaceId, expected)) .Throws(new Exception(test_exceptionMessage)); var mockServerVersionRepository = new Mock <IServerVersionRepository>(); var resources = new List <DuplicateResourceTO> { new DuplicateResourceTO { DestinationPath = destinationPath, OldResourceID = Guid.Empty, ResourceContents = expected.ToStringBuilder(), NewResource = expected } }; var sut = new ResourceSaveProvider(mockResourceCatalog.Object, mockServerVersionRepository.Object); var result = sut.SaveResources(workspaceId, resources, true); Assert.IsNotNull(result); Assert.AreEqual($"The following error occurred while executing the save callback '{expected.ResourceID}'.' message {test_exceptionMessage}", result.Message); Assert.AreEqual(ExecStatus.Fail, result.Status); mockServerVersionRepository.Verify(o => o.StoreVersion(expected, string.Empty, string.Empty, workspaceId, destinationPath), Times.Once()); mockResourceCatalog.Verify(o => o.AddToActivityCache(expected), Times.Once); mockResourceCatalog.Verify(o => o.RemoveFromResourceActivityCache(workspaceId, expected), Times.Once); mockResourceCatalog.Verify(o => o.Parse(workspaceId, expected), Times.Once); }