public void TriggersCatalog_PathFromResourceId() { var triggerId = Guid.NewGuid().ToString(); var expectedPath = Common.EnvironmentVariables.QueueTriggersPath + @"\" + triggerId + ".bite"; var path = TriggersCatalog.PathFromResourceId(triggerId); Assert.AreEqual(expectedPath, path); }
public WorkerContext(IArgs processArgs, IResourceCatalogProxy resourceCatalogProxy, ITriggersCatalog triggerCatalog) { var catalog = triggerCatalog; _path = TriggersCatalog.PathFromResourceId(processArgs.TriggerId); _serverUri = processArgs.ServerEndpoint; _triggerQueue = catalog.LoadQueueTriggerFromFile(_path); _resourceCatalogProxy = resourceCatalogProxy; }
public override StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace) { var serializer = new Dev2JsonSerializer(); try { Dev2Logger.Info("Fetch Triggers for Deploy Service", GlobalConstants.WarewolfInfo); values.TryGetValue("resourceID", out var resourceIdString); if (resourceIdString == null) { throw new InvalidDataContractException("resourceID is missing"); } if (!Guid.TryParse(resourceIdString.ToString(), out var resourceId)) { throw new InvalidDataContractException("resourceID is not a valid GUID."); } var triggerQueues = TriggersCatalog.LoadQueuesByResourceId(resourceId); var message = new CompressedExecuteMessage { HasError = false }; message.SetMessage(serializer.Serialize(triggerQueues)); return(serializer.SerializeToBuilder(message)); } catch (Exception err) { Dev2Logger.Error("Fetch Triggers For Deploy Failed: " + err.Message, GlobalConstants.WarewolfError); var msg = new CompressedExecuteMessage { HasError = true, Message = new StringBuilder(err.Message) }; return(serializer.SerializeToBuilder(msg)); } }
public StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace) { var serializer = new Dev2JsonSerializer(); try { Dev2Logger.Info("Save Triggers Service", GlobalConstants.WarewolfInfo); values.TryGetValue("resourceID", out var resourceIdString); if (resourceIdString == null) { throw new InvalidDataContractException("resourceID is missing"); } if (!Guid.TryParse(resourceIdString.ToString(), out var resourceId)) { throw new InvalidDataContractException("resourceID is not a valid GUID."); } values.TryGetValue("resourcePath", out var resourcePathString); if (resourcePathString == null) { throw new InvalidDataContractException("resourcePath is missing"); } values.TryGetValue("triggerDefinitions", out var triggerDefinitionMessage); if (triggerDefinitionMessage == null || triggerDefinitionMessage.Length == 0) { throw new InvalidDataContractException("triggerDefinitions is missing"); } var res = new ExecuteMessage { HasError = false, Message = serializer.SerializeToBuilder("") }; var decompressedMessage = serializer.Deserialize <CompressedExecuteMessage>(triggerDefinitionMessage).GetDecompressedMessage(); var triggerQueues = serializer.Deserialize <List <ITriggerQueue> >(decompressedMessage); var resource = ResourceCatalog.GetResource(GlobalConstants.ServerWorkspaceID, resourceId); if (resource == null) { var message = $"Resource {resourcePathString} has been deleted. No Triggers can be saved for this resource."; res.Message = serializer.SerializeToBuilder(message); } else { var resourcePath = resource.GetResourcePath(GlobalConstants.ServerWorkspaceID); if (!resourcePath.Equals(resourcePathString.ToString(), StringComparison.InvariantCultureIgnoreCase)) { var message = $"Resource {resourcePathString} has changed to {resourcePath}. Triggers have been saved for this resource."; res.Message = serializer.SerializeToBuilder(message); } TriggersCatalog.SaveTriggers(resourceId, triggerQueues); } return(serializer.SerializeToBuilder(res)); } catch (Exception err) { Dev2Logger.Error(err, GlobalConstants.WarewolfError); var res = new ExecuteMessage { HasError = true, Message = new StringBuilder(err.Message) }; return(serializer.SerializeToBuilder(res)); } }