public void TriggersCatalog_SaveTriggerQueue_WhenHasTriggerId_ShouldSave_NotUpdateTriggerId() { var queueTriggersPath = QueueTriggersPath; var source = "TestResource"; var queue = "TestQueueName"; var workflowName = "TestWorkflow"; var triggerId = Guid.NewGuid(); var mockResource = new Mock <IResource>(); mockResource.Setup(resource => resource.ResourceName).Returns(source); mockResource.Setup(resource => resource.ResourceID).Returns(Guid.NewGuid()); var triggerQueueEvent = new TriggerQueue { QueueSourceId = mockResource.Object.ResourceID, QueueName = queue, WorkflowName = workflowName, TriggerId = triggerId }; var serializer = new Dev2.Common.Serializers.Dev2JsonSerializer(); var mockSerializer = new Mock <IBuilderSerializer>(); mockSerializer.Setup(o => o.Serialize(It.IsAny <ITriggerQueue>())).Returns(serializer.Serialize(triggerQueueEvent)); var serializerInstance = mockSerializer.Object; var path = queueTriggersPath + "\\" + triggerId + ".bite"; var directory = new Mock <IDirectory>().Object; var mockFile = new Mock <IFile>(); var savedData = string.Empty; mockFile.Setup(o => o.WriteAllText(It.IsAny <string>(), It.IsAny <string>())).Callback <string, string>((filename, data) => { savedData = data; }); var file = mockFile.Object; var fileSystemWatcherWrapper = new Mock <IFileSystemWatcher>().Object; var triggerCatalog = GetTriggersCatalog(directory, file, queueTriggersPath, serializerInstance, fileSystemWatcherWrapper); triggerCatalog.SaveTriggerQueue(triggerQueueEvent); mockFile.Verify(o => o.WriteAllText(It.IsAny <string>(), It.IsAny <string>()), Times.Once); var isEncrypted = DpapiWrapper.CanBeDecrypted(savedData); Assert.IsTrue(isEncrypted); var decryptedTrigger = DpapiWrapper.Decrypt(savedData); var theSavedTrigger = serializer.Deserialize <ITriggerQueue>(decryptedTrigger); Assert.IsNotNull(theSavedTrigger); Assert.AreEqual(workflowName, theSavedTrigger.WorkflowName); Assert.AreEqual(triggerId, theSavedTrigger.TriggerId); mockFile.Setup(o => o.Exists(path)).Returns(() => savedData != string.Empty); triggerCatalog.DeleteTriggerQueue(triggerQueueEvent); mockFile.Verify(o => o.Delete(path), Times.Once); Assert.AreEqual(0, triggerCatalog.Queues.Count); }