public void ResourceLoadProvider_GetResourceContents_Given_ResourceFilePathIsNotExist_ExpectEmptyResourceContents()
        {
            CustomContainer.Register(new Mock <IWarewolfPerformanceCounterLocater>().Object);
            var workspaceResources = new ConcurrentDictionary <Guid, List <IResource> >();
            var id       = GlobalConstants.ServerWorkspaceID;
            var filePath = "test/new/file-path";

            var mockDev2FileWrapper = new Mock <IFile>();

            mockDev2FileWrapper.Setup(o => o.Exists(filePath))
            .Returns(false);

            var mockResource = new Mock <IResource>();

            mockResource.Setup(o => o.FilePath)
            .Returns(filePath);
            var expectedResource = mockResource.Object;

            workspaceResources.GetOrAdd(id, (newId) => new List <IResource> {
                expectedResource
            });
            var serverVersionRepository = new Mock <IServerVersionRepository>().Object;
            var managementServices      = new List <DynamicService>();

            var sut = new ResourceLoadProvider(workspaceResources, serverVersionRepository, dev2FileWrapper: mockDev2FileWrapper.Object);

            var result = sut.GetResourceContents(expectedResource);

            Assert.AreEqual(new StringBuilder().ToString(), result.ToString());
        }
        public void ResourceLoadProvider_GetResourceContents_Given_ResourceFilePathIsExist_ExpectNonEmptyResourceContents()
        {
            CustomContainer.Register(new Mock <IWarewolfPerformanceCounterLocater>().Object);
            var workspaceResources = new ConcurrentDictionary <Guid, List <IResource> >();
            var id             = GlobalConstants.ServerWorkspaceID;
            var filePath       = "test/new/file-path";
            var data           = "test data message";
            var dataBytes      = Encoding.UTF8.GetBytes(data);
            var frMemoryStream = new MemoryStream();
            var srMemoryStream = new MemoryStream(dataBytes);
            var srStreamReader = new StreamReader(srMemoryStream);

            var fileStreamArgs = new FileStreamArgs
            {
                FileAccess = FileAccess.Read,
                FileShare  = FileShare.Read,
                FileMode   = FileMode.Open,
                FilePath   = filePath,
                IsAsync    = true,
            };

            var mockFileStreamFactory = new Mock <IFileStreamFactory>();

            mockFileStreamFactory.Setup(o => o.New(fileStreamArgs))
            .Returns(frMemoryStream);

            var mockStreamReaderWrapper = new Mock <IStreamReaderWrapper>();

            mockStreamReaderWrapper.Setup(o => o.GetStream(It.IsAny <Stream>()))
            .Returns(srStreamReader);

            var mockStreamReaderFactory = new Mock <IStreamReaderFactory>();

            mockStreamReaderFactory.Setup(o => o.New())
            .Returns(mockStreamReaderWrapper.Object);

            var mockDev2FileWrapper = new Mock <IFile>();

            mockDev2FileWrapper.Setup(o => o.Exists(filePath))
            .Returns(true);

            var mockResource = new Mock <IResource>();

            mockResource.Setup(o => o.FilePath)
            .Returns(filePath);
            var expectedResource = mockResource.Object;

            workspaceResources.GetOrAdd(id, (newId) => new List <IResource> {
                expectedResource
            });
            var serverVersionRepository = new Mock <IServerVersionRepository>().Object;

            var sut = new ResourceLoadProvider(workspaceResources, serverVersionRepository, dev2FileWrapper: mockDev2FileWrapper.Object, fileStreamFactory: mockFileStreamFactory.Object, streamReaderFactory: mockStreamReaderFactory.Object);

            var result = sut.GetResourceContents(expectedResource);

            StringAssert.Contains(result.ToString(), data);
        }
Пример #3
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 ResourceLoadProvider_GetResourceContents_Given_ResourceFilePathIsNullOrEmpty_ExpectEmptyResourceContents()
        {
            CustomContainer.Register(new Mock <IWarewolfPerformanceCounterLocater>().Object);
            var workspaceResources = new ConcurrentDictionary <Guid, List <IResource> >();
            var id = GlobalConstants.ServerWorkspaceID;
            var expectedResource = new Workflow
            {
                FilePath = string.Empty
            };

            workspaceResources.GetOrAdd(id, (newId) => new List <IResource> {
                expectedResource
            });
            var serverVersionRepository = new Mock <IServerVersionRepository>().Object;
            var managementServices      = new List <DynamicService>();

            var sut = new ResourceLoadProvider(workspaceResources, serverVersionRepository, managementServices);

            var result = sut.GetResourceContents(expectedResource);

            Assert.AreEqual(new StringBuilder().ToString(), result.ToString());
        }
        public void ResourceLoadProvider_FindByType_GivenWorkflowResource_ExpectWorkflowResource()
        {
            var workspaceResources = new ConcurrentDictionary <Guid, List <IResource> >();
            var id       = GlobalConstants.ServerWorkspaceID;
            var expected = new Workflow();

            workspaceResources.GetOrAdd(id, (newId) => new List <IResource> {
                expected
            });
            var serverVersionRepository = new Mock <IServerVersionRepository>().Object;
            var managementServices      = new List <DynamicService>();
            var provider = new ResourceLoadProvider(workspaceResources, serverVersionRepository, managementServices);


            var resources = provider.FindByType(typeof(Workflow).FullName);

            Assert.IsTrue(resources.Any(o => o == expected));

            var resources2 = provider.FindByType <Workflow>();

            Assert.IsTrue(resources2.Any(o => o == expected));
        }