Beispiel #1
0
        public void WorkspaceItemRepositoryRemoveWithNonExistingModelExpectedDoesNothing()
        {
            string resourceName;
            Guid   workspaceID;
            Guid   serverID;

            var mockConn = new Mock <IEnvironmentConnection>();

            mockConn.Setup(c => c.IsConnected).Returns(true);
            ExecuteMessage msg = new ExecuteMessage();

            msg.SetMessage("Workspace item updated");
            var payload = JsonConvert.SerializeObject(msg);

            mockConn.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Returns(new StringBuilder(payload)).Verifiable();

            var model = CreateModel(ResourceType.Service, mockConn, out resourceName, out workspaceID, out serverID);

            var repository = new WorkspaceItemRepository(GetUniqueRepositoryPath());

            repository.AddWorkspaceItem(model.Object);
            Assert.AreEqual(1, repository.WorkspaceItems.Count);

            model.Setup(m => m.ResourceName).Returns("Test_" + Guid.NewGuid());

            repository.Remove(model.Object);
            Assert.AreEqual(1, repository.WorkspaceItems.Count);
        }
Beispiel #2
0
        public void WorkspaceItemRepositoryRemoveWithExistingModelExpectedInvokesWrite()
        {
            string resourceName;
            Guid   workspaceID;
            Guid   serverID;

            var mockConn = new Mock <IEnvironmentConnection>();

            mockConn.Setup(c => c.IsConnected).Returns(true);
            ExecuteMessage msg = new ExecuteMessage();

            msg.SetMessage("Workspace item updated");
            var payload = JsonConvert.SerializeObject(msg);

            mockConn.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Returns(new StringBuilder(payload)).Verifiable();
            var mockResourceRepo = new Mock <IResourceRepository>();

            mockResourceRepo.Setup(resourceRepository => resourceRepository.DeleteResourceFromWorkspaceAsync(It.IsAny <IContextualResourceModel>()));
            var model = CreateModel(ResourceType.Service, mockConn, out resourceName, out workspaceID, out serverID, mockResourceRepo);

            var repositoryPath = GetUniqueRepositoryPath();

            Assert.IsFalse(File.Exists(repositoryPath));

            var repository = new WorkspaceItemRepository(repositoryPath);

            repository.AddWorkspaceItem(model.Object);
            if (File.Exists(repositoryPath))
            {
                File.Delete(repositoryPath);
            }
            repository.Remove(model.Object);
            Assert.IsTrue(File.Exists(repositoryPath));
            mockResourceRepo.Verify(resourceRepository => resourceRepository.DeleteResourceFromWorkspaceAsync(It.IsAny <IContextualResourceModel>()), Times.Once());
        }
Beispiel #3
0
        public void WorkspaceItemRepositoryUpdateWorkspaceItemWithExistingModelExpectedInvokesExecuteCommand()
        {
            const string ExpectedResult = "Workspace item updated";
            string       resourceName;
            Guid         workspaceID;
            Guid         serverID;

            var mockConn = new Mock <IEnvironmentConnection>();

            mockConn.Setup(c => c.IsConnected).Returns(true);
            ExecuteMessage msg = new ExecuteMessage();

            msg.SetMessage("Workspace item updated");
            var payload = JsonConvert.SerializeObject(msg);

            mockConn.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Returns(new StringBuilder(payload)).Verifiable();

            var model = CreateModel(ResourceType.Service, mockConn, out resourceName, out workspaceID, out serverID);

            #region Setup ImportService - GRRR!


            #endregion

            var repository = new WorkspaceItemRepository(GetUniqueRepositoryPath());
            repository.AddWorkspaceItem(model.Object);

            var result = repository.UpdateWorkspaceItem(model.Object, true);
            mockConn.Verify(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>()), Times.Once());
            Assert.AreEqual(ExpectedResult, result.Message.ToString());
        }
Beispiel #4
0
        public void WorkspaceItemRepositoryAddWorkspaceItemWithNewModelWithSameNameExpectedInvokesWrite()
        {
            Guid workspaceID = Guid.NewGuid();
            Guid serverID    = Guid.NewGuid();
            Guid envID       = Guid.NewGuid();

            var mockConn = new Mock <IEnvironmentConnection>();

            mockConn.Setup(c => c.IsConnected).Returns(true);
            ExecuteMessage msg = new ExecuteMessage();

            msg.SetMessage("Workspace item updated");
            var payload = JsonConvert.SerializeObject(msg);

            mockConn.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Returns(new StringBuilder(payload)).Verifiable();

            var model1 = CreateModel(ResourceType.Service, mockConn, workspaceID, serverID, envID);

            workspaceID = Guid.NewGuid();
            serverID    = Guid.NewGuid();
            envID       = Guid.NewGuid();
            var model2 = CreateModel(ResourceType.Service, mockConn, workspaceID, serverID, envID);

            var repositoryPath = GetUniqueRepositoryPath();

            Assert.IsFalse(File.Exists(repositoryPath));

            var repository = new WorkspaceItemRepository(repositoryPath);

            repository.AddWorkspaceItem(model1.Object);
            repository.AddWorkspaceItem(model2.Object);
            Assert.IsTrue(repository.WorkspaceItems.Count == 2);
            Assert.IsTrue(File.Exists(repositoryPath));
        }
Beispiel #5
0
        public void WorkspaceItemRepository_UnitTest_UpdateWorkspaceItemIsWorkflowSaved_ExpectSetsWorkspaceItemIsWorkflowSavedFalse()
        {
            string resourceName;
            Guid   workspaceID;
            Guid   serverID;


            var mockConn = new Mock <IEnvironmentConnection>();

            mockConn.Setup(c => c.IsConnected).Returns(true);
            ExecuteMessage msg = new ExecuteMessage();

            msg.SetMessage("Workspace item updated");
            var payload = JsonConvert.SerializeObject(msg);

            mockConn.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Returns(new StringBuilder(payload)).Verifiable();

            var model = CreateModel(ResourceType.Service, mockConn, out resourceName, out workspaceID, out serverID);

            model.Setup(resourceModel => resourceModel.IsWorkflowSaved).Returns(true);
            var repositoryPath = GetUniqueRepositoryPath();

            // Create repository file with one item in it
            var repository = new WorkspaceItemRepository(repositoryPath);

            repository.AddWorkspaceItem(model.Object);

            // Now create a new repository from the previous file
            repository = new WorkspaceItemRepository(repositoryPath);

            // Access items for the first time
            var items = repository.WorkspaceItems;

            Assert.AreEqual(1, items.Count);
            Assert.AreEqual(workspaceID, items[0].WorkspaceID);
            Assert.AreEqual(serverID, items[0].ServerID);
            Assert.AreEqual(resourceName, items[0].ServiceName);
            Assert.AreEqual(WorkspaceItem.ServiceServiceType, items[0].ServiceType);
            Assert.IsTrue(items[0].IsWorkflowSaved);

            model.Setup(resourceModel => resourceModel.IsWorkflowSaved).Returns(false);
            repository.UpdateWorkspaceItemIsWorkflowSaved(model.Object);
            Assert.IsFalse(items[0].IsWorkflowSaved);
        }
Beispiel #6
0
        public void WorkspaceItemRepositoryAddWorkspaceItemWithNewSourceModelExpectedAddsAndAssignsSourceServiceType()
        {
            var mockConn = new Mock <IEnvironmentConnection>();

            mockConn.Setup(c => c.IsConnected).Returns(true);
            var msg = new ExecuteMessage();

            msg.SetMessage("Workspace item updated");
            var payload = JsonConvert.SerializeObject(msg);

            mockConn.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Returns(new StringBuilder(payload)).Verifiable();

            var model = CreateModel(ResourceType.Source, mockConn, out string resourceName, out Guid workspaceID, out Guid serverID);

            var repository = new WorkspaceItemRepository(GetUniqueRepositoryPath());

            repository.AddWorkspaceItem(model.Object);

            Assert.AreEqual(1, repository.WorkspaceItems.Count);
            Assert.AreEqual(WorkspaceItem.SourceServiceType, repository.WorkspaceItems[0].ServiceType);
        }
Beispiel #7
0
        public void WorkspaceItemRepositoryUpdateWorkspaceItemWithNonExistingModelExpectedDoesNothing()
        {
            string resourceName;
            Guid   workspaceID;
            Guid   serverID;

            var mockConn = new Mock <IEnvironmentConnection>();

            mockConn.Setup(c => c.IsConnected).Returns(true);
            ExecuteMessage msg = new ExecuteMessage();

            msg.SetMessage("");
            var payload = JsonConvert.SerializeObject(msg);

            mockConn.Setup(c => c.ExecuteCommand(It.IsAny <StringBuilder>(), It.IsAny <Guid>())).Returns(new StringBuilder(payload)).Verifiable();

            var model = CreateModel(ResourceType.Service, mockConn, out resourceName, out workspaceID, out serverID);

            var repository = new WorkspaceItemRepository(GetUniqueRepositoryPath());

            var result = repository.UpdateWorkspaceItem(model.Object, true);

            Assert.IsTrue(string.IsNullOrEmpty(result.Message.ToString()));
        }
Beispiel #8
0
        public void WorkspaceItemRepositoryUpdateWorkspaceItemWithNullModelExpectedThrowsArgumentNullException()
        {
            var repository = new WorkspaceItemRepository(GetUniqueRepositoryPath());

            repository.UpdateWorkspaceItem(null, false);
        }