public StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace) { var msg = new ExecuteMessage(); var serializer = new Dev2JsonSerializer(); try { Dev2Logger.Info("Save Resource Service", GlobalConstants.WarewolfInfo); values.TryGetValue("WcfSource", out StringBuilder resourceDefinition); var src = serializer.Deserialize <WcfServiceSourceDefinition>(resourceDefinition); var source = new WcfSource() { EndpointUrl = src.EndpointUrl }; source.Execute(); } catch (Exception err) { msg.HasError = true; msg.Message = new StringBuilder(err.Message); Dev2Logger.Error(err, GlobalConstants.WarewolfError); } return(serializer.SerializeToBuilder(msg)); }
public StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace) { var msg = new ExecuteMessage(); var serializer = new Dev2JsonSerializer(); try { Dev2Logger.Info("Save Wcf Service Source", GlobalConstants.WarewolfInfo); values.TryGetValue("WcfSource", out StringBuilder resourceDefinition); var src = serializer.Deserialize <WcfServiceSourceDefinition>(resourceDefinition); var con = new WcfSource { EndpointUrl = src.EndpointUrl, ResourceName = src.Name, Name = src.Name, ResourceID = src.Id, Type = enSourceType.WcfSource, ResourceType = "WcfSource" }; ResourceCatalog.Instance.SaveResource(GlobalConstants.ServerWorkspaceID, con, src.Path); ServerExplorerRepo.UpdateItem(con); msg.HasError = false; } catch (Exception err) { msg.HasError = true; msg.Message = new StringBuilder(err.Message); Dev2Logger.Error(err, GlobalConstants.WarewolfError); } return(serializer.SerializeToBuilder(msg)); }
public void DsfWcfEndPointActivity_Equals_InstancesWithSameParams_NotSame_Expect_False() { //-----------------------Arrange--------------------- var mockOutputDescription = new Mock <IOutputDescription>(); var wcfSource = new WcfSource(new FakeWcfProxyService()) { Name = "WcfSource", EndpointUrl = "TestUrl" }; var wcfAction = new WcfAction() { FullName = "MethodName", Method = "MethodName", }; var dsfWcfEndPointActivity = new DsfWcfEndPointActivity() { Method = wcfAction, OutputDescription = mockOutputDescription.Object, Source = wcfSource, }; //-----------------------Act------------------------- var equals = dsfWcfEndPointActivity.Equals(new DsfWcfEndPointActivity() { Method = wcfAction, OutputDescription = mockOutputDescription.Object, Source = wcfSource, }); //-----------------------Assert---------------------- Assert.IsFalse(equals); }
public void DsfWcfEndPointActivity_GetHashCode_MethodOutputDescriptionSource_NotNull_Expect_IsNotNull() { //-----------------------Arrange--------------------- var mockOutputDescription = new Mock <IOutputDescription>(); var wcfSource = new WcfSource(new FakeWcfProxyService()) { Name = "WcfSource", EndpointUrl = "TestUrl" }; var wcfAction = new WcfAction() { FullName = "MethodName", Method = "MethodName", }; var dsfWcfEndPointActivity = new DsfWcfEndPointActivity() { Method = wcfAction, OutputDescription = mockOutputDescription.Object, Source = wcfSource, }; //-----------------------Act------------------------- var hashCode = dsfWcfEndPointActivity.GetHashCode(); //-----------------------Assert---------------------- Assert.IsNotNull(hashCode); }
public void DsfWcfEndPointActivity_TryExecute_injectVal_IsNull_Expect_NoError() { //-----------------------Arrange--------------------- var mockEsbChannel = new Mock <IEsbChannel>(); var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockDSFDataObject = new Mock <IDSFDataObject>(); var mockOutputDescription = new Mock <IOutputDescription>(); var mockPath = new Mock <IPath>(); var mockDataSourceShape = new Mock <IDataSourceShape>(); var mockWcfAction = new Mock <IWcfAction>(); var wcfSource = new WcfSource(new FakeWcfProxyService()) { Name = "WcfSource", EndpointUrl = "TestUrl" }; Thread.CurrentPrincipal = null; var identity = new GenericIdentity("User"); var currentPrincipal = new GenericPrincipal(identity, new[] { "Role1", "Roll2" }); Thread.CurrentPrincipal = currentPrincipal; Common.Utilities.ServerUser = currentPrincipal; var dataListID = Guid.NewGuid(); var environment = new ExecutionEnvironment(); var outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping() }; var dsfWcfEndPointActivity = new TestDsfWcfEndPointActivity() { ResourceCatalog = mockResourceCatalog.Object, Method = mockWcfAction.Object, Inputs = new List <IServiceInput>() { new ServiceInput("[[a]]", "") }, Outputs = outputs, OutputDescription = mockOutputDescription.Object, }; mockDataSourceShape.Setup(o => o.Paths).Returns(new List <IPath> { mockPath.Object }); mockWcfAction.Setup(o => o.Method).Returns("TestMethod"); mockResourceCatalog.Setup(o => o.GetResource <WcfSource>(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(wcfSource); mockOutputDescription.Setup(o => o.DataSourceShapes).Returns(new List <IDataSourceShape> { mockDataSourceShape.Object }).Verifiable(); mockOutputDescription.Setup(o => o.Format).Returns(OutputFormats.ShapedXML).Verifiable(); mockDSFDataObject.Setup(o => o.DataListID).Returns(dataListID); mockDSFDataObject.Setup(o => o.Environment).Returns(environment).Verifiable(); //-----------------------Act------------------------- dsfWcfEndPointActivity.TestExecutionImpl(mockEsbChannel.Object, mockDSFDataObject.Object, "TestInput", "TestOutput", out ErrorResultTO errorResult, 0); //-----------------------Assert---------------------- mockOutputDescription.VerifyAll(); mockDataSourceShape.VerifyAll(); mockResourceCatalog.Verify(o => o.GetResource <WcfSource>(It.IsAny <Guid>(), It.IsAny <Guid>())); Assert.AreEqual(0, errorResult.FetchErrors().Count); }
public void WcfSource_ToXml_ReturnsSuccess() { var source = GetSource(); var xml = source.ToXml(); var actual = new WcfSource(xml); Assert.AreEqual(source.ResourceType, actual.ResourceType); }
public void DsfWcfEndPointActivity_ExecutionImpl_Catch_GetResource_IsNull_Expect_Error() { //-----------------------Arrange--------------------- var mockEsbChannel = new Mock <IEsbChannel>(); var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockDSFDataObject = new Mock <IDSFDataObject>(); var mockOutputDescription = new Mock <IOutputDescription>(); var mockPath = new Mock <IPath>(); var wcfSource = new WcfSource(new FakeWcfProxyService()) { Name = "WcfSource", EndpointUrl = "TestUrl" }; var wcfAction = new WcfAction() { FullName = "MethodName", Method = "MethodName", }; Thread.CurrentPrincipal = null; var identity = new GenericIdentity("User"); var currentPrincipal = new GenericPrincipal(identity, new[] { "Role1", "Roll2" }); Thread.CurrentPrincipal = currentPrincipal; Common.Utilities.ServerUser = currentPrincipal; var dataListID = Guid.NewGuid(); var environment = new ExecutionEnvironment(); var outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping() }; var dsfWcfEndPointActivity = new TestDsfWcfEndPointActivity() { ResourceCatalog = mockResourceCatalog.Object, Method = wcfAction, Inputs = new List <IServiceInput>() { new ServiceInput("[[a]]", "asa") }, Outputs = outputs, OutputDescription = mockOutputDescription.Object, Source = wcfSource, }; mockOutputDescription.Setup(o => o.Format).Returns(OutputFormats.ShapedXML).Verifiable(); mockDSFDataObject.Setup(o => o.Environment).Returns(environment).Verifiable(); //-----------------------Act------------------------- dsfWcfEndPointActivity.TestExecutionImpl(mockEsbChannel.Object, mockDSFDataObject.Object, "TestInput", "TestOutput", out ErrorResultTO errorResult, 0); //-----------------------Assert---------------------- mockDSFDataObject.VerifyAll(); mockOutputDescription.VerifyAll(); mockResourceCatalog.Verify(o => o.GetResource <WcfSource>(It.IsAny <Guid>(), It.IsAny <Guid>())); Assert.AreEqual(1, errorResult.FetchErrors().Count); Assert.AreEqual("Object reference not set to an instance of an object.", errorResult.FetchErrors()[0]); }
public IWcfServerSource FetchSource(Guid resourceID) { var xaml = _queryProxy.FetchResourceXaml(resourceID); var wcfsource = new WcfSource(xaml.ToXElement()); var def = new WcfServiceSourceDefinition(wcfsource); return(def); }
protected void ExecuteService(int update, out ErrorResultTO errors, IWcfAction method, IDSFDataObject dataObject, IOutputFormatter formater) { errors = new ErrorResultTO(); Source = ResourceCatalog.GetResource <WcfSource>(dataObject.WorkspaceID, SourceId); var itrs = new List <IWarewolfIterator>(5); IWarewolfListIterator itrCollection = new WarewolfListIterator(); var methodParameters = Inputs.Select(a => new MethodParameter { EmptyToNull = a.EmptyIsNull, IsRequired = a.RequiredField, Name = a.Name, Value = a.Value, TypeName = a.TypeName }).ToList(); BuildParameterIterators(update, methodParameters.ToList(), itrCollection, itrs, dataObject); try { while (itrCollection.HasMoreData()) { var pos = 0; foreach (var itr in itrs) { var injectVal = itrCollection.FetchNextValue(itr); var param = methodParameters.ToList()[pos]; param.Value = param.EmptyToNull && (injectVal == null || string.Compare(injectVal, string.Empty, StringComparison.InvariantCultureIgnoreCase) == 0) ? null : injectVal; pos++; } var result = Source.ExecuteMethod(method); if (result != null) { ResponseManager = new ResponseManager { OutputDescription = OutputDescription, Outputs = Outputs, IsObject = IsObject, ObjectName = ObjectName }; ResponseManager.PushResponseIntoEnvironment(result.ToString(), update, dataObject); } } } catch (Exception e) { errors.AddError(e.Message); } }
public IWcfServerSource FetchSource(Guid resourceID) { var xaml = _queryProxy.FetchResourceXaml(resourceID); var wcfsource = new WcfSource(xaml.ToXElement()); var def = new WcfServiceSourceDefinition { Id = wcfsource.Id, Name = wcfsource.ResourceName, Path = wcfsource.GetSavePath(), ResourceName = wcfsource.Name, EndpointUrl = wcfsource.EndpointUrl }; return(def); }
public virtual RecordsetList FetchRecordset(WcfService wcfService) { if (wcfService == null) { throw new ArgumentNullException(nameof(wcfService)); } var broker = new WcfSource(); var outputDescription = broker.ExecuteMethod(wcfService); var dataSourceShape = outputDescription.DataSourceShapes[0]; var recSet = outputDescription.ToRecordsetList(wcfService.Recordsets, GlobalConstants.PrimitiveReturnValueTag); if (recSet != null) { foreach (var recordset in recSet) { foreach (var field in recordset.Fields) { if (string.IsNullOrEmpty(field.Name)) { continue; } var path = field.Path; var rsAlias = string.IsNullOrEmpty(field.RecordsetAlias) ? "" : field.RecordsetAlias.Replace("()", ""); var value = string.Empty; if (!string.IsNullOrEmpty(field.Alias)) { value = string.IsNullOrEmpty(rsAlias) ? $"[[{field.Alias}]]" : $"[[{rsAlias}().{field.Alias}]]"; } if (path != null) { path.OutputExpression = value; dataSourceShape.Paths.Add(path); } } } } return(recSet); }
public virtual RecordsetList FetchRecordset(WcfService wcfService) { if (wcfService == null) { throw new ArgumentNullException(nameof(wcfService)); } var broker = new WcfSource(); var outputDescription = broker.ExecuteMethod(wcfService); var dataSourceShape = outputDescription.DataSourceShapes[0]; var recSet = outputDescription.ToRecordsetList(wcfService.Recordsets, GlobalConstants.PrimitiveReturnValueTag); if (recSet != null) { foreach (var recordset in recSet) { FetchRecordsetFields_WcfService(dataSourceShape, recordset); } } return(recSet); }