예제 #1
0
        public void SaveTriggers_Execute_GivenResourceDefinition_ShouldReturnResourceDefinitionMsg()
        {
            //---------------Set up test pack-------------------
            var serializer    = new Dev2JsonSerializer();
            var triggerQueues = new List <ITriggerQueue>
            {
                new TriggerQueue
                {
                    QueueName = "Test Queue"
                }
            };
            var compressedExecuteMessage = new CompressedExecuteMessage();

            compressedExecuteMessage.SetMessage(serializer.Serialize(triggerQueues));
            var values = new Dictionary <string, StringBuilder> {
                { "resourceID", new StringBuilder(Guid.NewGuid().ToString()) }, { "resourcePath", "Home".ToStringBuilder() }
            };
            var saveTriggers = new SaveTriggers();
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            var jsonResult = saveTriggers.Execute(values, null);
            var result     = serializer.Deserialize <ExecuteMessage>(jsonResult);

            //---------------Test Result -----------------------
            Assert.IsTrue(result.HasError);
            Assert.AreEqual("triggerDefinitions is missing", result.Message.ToString());
        }
예제 #2
0
        public void SaveTriggers_HandlesType_ExpectName()
        {
            //------------Setup for test--------------------------
            var saveTriggers = new SaveTriggers();


            //------------Execute Test---------------------------

            //------------Assert Results-------------------------
            Assert.AreEqual("SaveTriggers", saveTriggers.HandlesType());
        }
예제 #3
0
        public void SaveTriggers_GetAuthorizationContextForService_ShouldReturnContext()
        {
            //------------Setup for test--------------------------
            var saveTriggers = new SaveTriggers();

            //------------Execute Test---------------------------
            var resId = saveTriggers.GetAuthorizationContextForService();

            //------------Assert Results-------------------------
            Assert.AreEqual(AuthorizationContext.Contribute, resId);
        }
예제 #4
0
        public void SaveTriggers_GetResourceID_ShouldReturnEmptyGuid()
        {
            //------------Setup for test--------------------------
            var saveTriggers = new SaveTriggers();

            //------------Execute Test---------------------------
            var resId = saveTriggers.GetResourceID(new Dictionary <string, StringBuilder>());

            //------------Assert Results-------------------------
            Assert.AreEqual(Guid.Empty, resId);
        }
예제 #5
0
        public void SaveTriggers_Execute_NullValues_ErrorResult()
        {
            //------------Setup for test--------------------------
            var saveTriggers = new SaveTriggers();
            var serializer   = new Dev2JsonSerializer();
            //------------Execute Test---------------------------
            var jsonResult = saveTriggers.Execute(null, null);
            var result     = serializer.Deserialize <ExecuteMessage>(jsonResult);

            //------------Assert Results-------------------------
            Assert.IsTrue(result.HasError);
        }
예제 #6
0
        public void SaveTriggers_Execute_ExpectName()
        {
            //------------Setup for test--------------------------
            var serializer   = new Dev2JsonSerializer();
            var inputs       = new Dictionary <string, StringBuilder>();
            var resourceId   = Guid.NewGuid();
            var saveTriggers = new SaveTriggers();

            var triggerQueues = new List <ITriggerQueue>
            {
                new TriggerQueue
                {
                    QueueName = "Test Queue"
                }
            };
            var emptyTriggerQueues  = new List <ITriggerQueue>();
            var mockTriggersCatalog = new Mock <ITriggersCatalog>();
            var mockResourceCatalog = new Mock <IResourceCatalog>();

            var mockResource = new Mock <IResource>();

            mockResource.SetupGet(resource => resource.ResourceID).Returns(resourceId);
            mockResource.Setup(resource => resource.GetResourcePath(It.IsAny <Guid>())).Returns("somePath");
            mockResourceCatalog.Setup(catalog => catalog.GetResource(GlobalConstants.ServerWorkspaceID, resourceId)).Returns(mockResource.Object);
            var ws    = new Mock <IWorkspace>();
            var resID = Guid.Empty;

            mockTriggersCatalog.Setup(a => a.SaveTriggers(It.IsAny <Guid>(), It.IsAny <List <ITriggerQueue> >())).Callback((Guid id, List <ITriggerQueue> queues) =>
            {
                resID = id;
                emptyTriggerQueues = queues;
            }).Verifiable();

            inputs.Add("resourceID", new StringBuilder(resourceId.ToString()));
            var compressedExecuteMessage = new CompressedExecuteMessage();

            compressedExecuteMessage.SetMessage(serializer.Serialize(triggerQueues));
            inputs.Add("triggerDefinitions", serializer.SerializeToBuilder(compressedExecuteMessage));
            inputs.Add("resourcePath", "somePath".ToStringBuilder());
            saveTriggers.TriggersCatalog = mockTriggersCatalog.Object;
            saveTriggers.ResourceCatalog = mockResourceCatalog.Object;
            //------------Execute Test---------------------------
            saveTriggers.Execute(inputs, ws.Object);
            //------------Assert Results-------------------------
            mockTriggersCatalog.Verify(a => a.SaveTriggers(It.IsAny <Guid>(), It.IsAny <List <ITriggerQueue> >()));
            Assert.AreEqual(triggerQueues.Count, emptyTriggerQueues.Count);
            Assert.AreEqual(triggerQueues[0].QueueName, emptyTriggerQueues[0].QueueName);
            Assert.AreEqual(resourceId, resID);
        }
예제 #7
0
        public void SaveTriggers_Execute_ResourceIDNotPresent_ErrorResult()
        {
            //------------Setup for test--------------------------
            var values = new Dictionary <string, StringBuilder> {
                { "item", new StringBuilder() }
            };
            var saveTriggers = new SaveTriggers();
            var serializer   = new Dev2JsonSerializer();
            //------------Execute Test---------------------------
            var jsonResult = saveTriggers.Execute(values, null);
            var result     = serializer.Deserialize <ExecuteMessage>(jsonResult);

            //------------Assert Results-------------------------
            Assert.IsTrue(result.HasError);
        }
예제 #8
0
        public void SaveTriggers_Execute_ItemToDeleteNotListOfServiceTestTO_ErrorResult()
        {
            //------------Setup for test--------------------------
            var values = new Dictionary <string, StringBuilder> {
                { "resourceID", new StringBuilder(Guid.NewGuid().ToString()) }, { "testDefinitions", new StringBuilder("This is not deserializable to ServerExplorerItem") }
            };
            var saveTriggers = new SaveTriggers();
            var serializer   = new Dev2JsonSerializer();
            //------------Execute Test---------------------------
            var jsonResult = saveTriggers.Execute(values, null);
            var result     = serializer.Deserialize <ExecuteMessage>(jsonResult);

            //------------Assert Results-------------------------
            Assert.IsTrue(result.HasError);
        }
예제 #9
0
        public void SaveTriggers_Execute_TestDefinitionsNotInValues_ErrorResult()
        {
            //------------Setup for test--------------------------
            var values = new Dictionary <string, StringBuilder> {
                { "resourceID", new StringBuilder(Guid.NewGuid().ToString()) }
            };
            var saveTriggers = new SaveTriggers();
            var serializer   = new Dev2JsonSerializer();
            //------------Execute Test---------------------------
            var jsonResult = saveTriggers.Execute(values, null);
            var result     = serializer.Deserialize <ExecuteMessage>(jsonResult);

            //------------Assert Results-------------------------
            Assert.IsTrue(result.HasError);
        }
예제 #10
0
        public void SaveTriggers_Execute_GivenResourceMoved_ShouldSaveTriggers()
        {
            //------------Setup for test--------------------------
            var serializer   = new Dev2JsonSerializer();
            var inputs       = new Dictionary <string, StringBuilder>();
            var resourceId   = Guid.NewGuid();
            var saveTriggers = new SaveTriggers();

            var triggerQueues = new List <ITriggerQueue>
            {
                new TriggerQueue
                {
                    QueueName = "Test Queue"
                }
            };
            var mockResource = new Mock <IResource>();

            mockResource.SetupGet(resource => resource.ResourceID).Returns(resourceId);
            mockResource.Setup(resource => resource.GetResourcePath(It.IsAny <Guid>())).Returns("somePath");

            var mockTriggersCatalog = new Mock <ITriggersCatalog>();
            var mockResourceCatalog = new Mock <IResourceCatalog>();

            mockResourceCatalog.Setup(catalog => catalog.GetResource(GlobalConstants.ServerWorkspaceID, resourceId)).Returns(mockResource.Object);
            mockTriggersCatalog.Setup(a => a.SaveTriggers(It.IsAny <Guid>(), It.IsAny <List <ITriggerQueue> >())).Verifiable();
            var ws = new Mock <IWorkspace>();

            inputs.Add("resourceID", new StringBuilder(resourceId.ToString()));
            var compressedExecuteMessage = new CompressedExecuteMessage();

            compressedExecuteMessage.SetMessage(serializer.Serialize(triggerQueues));
            inputs.Add("triggerDefinitions", serializer.SerializeToBuilder(compressedExecuteMessage));
            inputs.Add("resourcePath", "otherPath".ToStringBuilder());
            saveTriggers.TriggersCatalog = mockTriggersCatalog.Object;
            saveTriggers.ResourceCatalog = mockResourceCatalog.Object;
            var stringBuilder = saveTriggers.Execute(inputs, ws.Object);
            //---------------Assert Precondition----------------
            var msg = serializer.Deserialize <ExecuteMessage>(stringBuilder);

            Assert.IsFalse(msg.HasError);
            Assert.IsTrue(msg.Message.Contains("Resource otherPath has changed to somePath. Triggers have been saved for this resource."));
            //------------Execute Test---------------------------
            //------------Assert Results-------------------------
            mockTriggersCatalog.Verify(a => a.SaveTriggers(It.IsAny <Guid>(), It.IsAny <List <ITriggerQueue> >()), Times.Once);
        }
예제 #11
0
        public void SaveTriggers_Execute_GivenNullResource_ShouldReturnResourceDeletedMsg()
        {
            //------------Setup for test--------------------------
            var serializer   = new Dev2JsonSerializer();
            var inputs       = new Dictionary <string, StringBuilder>();
            var resourceId   = Guid.NewGuid();
            var saveTriggers = new SaveTriggers();

            var triggerQueues = new List <ITriggerQueue>
            {
                new TriggerQueue
                {
                    QueueName = "Test Queue"
                }
            };
            var mockTriggersCatalog = new Mock <ITriggersCatalog>();
            var mockResourceCatalog = new Mock <IResourceCatalog>();

            mockResourceCatalog.Setup(catalog => catalog.GetResource(GlobalConstants.ServerWorkspaceID, resourceId)).Returns(default(IResource));
            var ws = new Mock <IWorkspace>();

            inputs.Add("resourceID", new StringBuilder(resourceId.ToString()));
            var compressedExecuteMessage = new CompressedExecuteMessage();

            compressedExecuteMessage.SetMessage(serializer.Serialize(triggerQueues));
            inputs.Add("triggerDefinitions", serializer.SerializeToBuilder(compressedExecuteMessage));
            inputs.Add("resourcePath", "somePath".ToStringBuilder());
            saveTriggers.TriggersCatalog = mockTriggersCatalog.Object;
            saveTriggers.ResourceCatalog = mockResourceCatalog.Object;
            //------------Execute Test---------------------------
            var stringBuilder = saveTriggers.Execute(inputs, ws.Object);
            //------------Assert Results-------------------------
            var msg = serializer.Deserialize <ExecuteMessage>(stringBuilder);

            Assert.IsFalse(msg.HasError);
            Assert.IsTrue(msg.Message.Contains("Resource somePath has been deleted. No Triggers can be saved for this resource."));
        }