Example #1
0
 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);
        }