public void MySql_TestActionSetSourceHasRecSet() { //------------Setup for test-------------------------- var mod = new MySqlModel(); var act = new DsfMySqlDatabaseActivity(); //------------Execute Test--------------------------- var mySql = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); mySql.ManageServiceInputViewModel = new InputViewForTest(mySql, mod); mySql.SourceRegion.SelectedSource = mySql.SourceRegion.Sources.First(); mySql.ActionRegion.SelectedAction = mySql.ActionRegion.Actions.First(); mySql.InputArea.Inputs.Add(new ServiceInput("[[a]]", "asa")); #pragma warning disable 4014 mySql.TestInputCommand.Execute(); mySql.ManageServiceInputViewModel.TestCommand.Execute(null); mySql.ManageServiceInputViewModel.IsEnabled = true; mySql.ManageServiceInputViewModel.OutputArea.Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c") }; mySql.ManageServiceInputViewModel.OkCommand.Execute(null); #pragma warning restore 4014 //------------Assert Results------------------------- Assert.IsTrue(mySql.SourceRegion.IsEnabled); Assert.IsTrue(mySql.OutputsRegion.IsEnabled); Assert.IsTrue(mySql.InputArea.IsEnabled); Assert.IsTrue(mySql.ErrorRegion.IsEnabled); Assert.IsTrue(mySql.ManageServiceInputViewModel.InputArea.Inputs.Count == 1); Assert.IsTrue(mySql.ManageServiceInputViewModel.InputArea.Inputs.First().Name == "[[a]]"); Assert.IsTrue(mySql.ManageServiceInputViewModel.InputArea.Inputs.Last().Name == "[[a]]"); }
public void Equals_Given_SameOutputs_DifferentIndexes_ActivityTools_AreNotEqual() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var outputs = new List <Common.Interfaces.DB.IServiceOutputMapping> { new ServiceOutputMapping("d", "e", "f"), new ServiceOutputMapping("a", "b", "c") }; var outputs2 = new List <Common.Interfaces.DB.IServiceOutputMapping> { new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("d", "e", "f") }; var activity = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, Outputs = outputs }; var activity1 = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, Outputs = outputs2 }; //---------------Assert Precondition---------------- Assert.IsNotNull(activity); //---------------Execute Test ---------------------- var @equals = activity.Equals(activity1); //---------------Test Result ----------------------- Assert.IsFalse(@equals); }
public void Equals_Given_SameInputsDifferentIndexes_ActivityTools_AreNotEqual() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var inputs = new List <Common.Interfaces.DB.IServiceInput> { new ServiceInput("Input2", "[[InputValue2]]"), new ServiceInput("Input1", "[[InputValue1]]") }; var inputs2 = new List <Common.Interfaces.DB.IServiceInput> { new ServiceInput("Input1", "[[InputValue1]]"), new ServiceInput("Input2", "[[InputValue2]]") }; var activity = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, Inputs = inputs }; var activity1 = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, Inputs = inputs2 }; //---------------Assert Precondition---------------- Assert.IsNotNull(activity); //---------------Execute Test ---------------------- var @equals = activity.Equals(activity1); //---------------Test Result ----------------------- Assert.IsFalse(@equals); }
public void MySql_TestActionSetSourceAndTestClickOkHasMappingsErrorFromServer() { //------------Setup for test-------------------------- var mod = new MySqlModel(); mod.HasRecError = true; var act = new DsfMySqlDatabaseActivity(); //------------Execute Test--------------------------- var mySql = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); mySql.ManageServiceInputViewModel = new InputViewForTest(mySql, mod); mySql.SourceRegion.SelectedSource = mySql.SourceRegion.Sources.First(); #pragma warning disable 4014 mySql.TestInputCommand.Execute(); mySql.ManageServiceInputViewModel.TestCommand.Execute(null); mySql.ManageServiceInputViewModel.IsEnabled = true; mySql.ManageServiceInputViewModel.OutputArea.Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c"), new ServiceOutputMapping("a", "b", "c") }; mySql.ManageServiceInputViewModel.OkCommand.Execute(null); #pragma warning restore 4014 //------------Assert Results------------------------- Assert.IsTrue(mySql.ErrorRegion.IsEnabled); Assert.AreNotEqual(0, mySql.ManageServiceInputViewModel.Errors.Count); }
public void DataGridActivityFindMissingStrategy_GetActivityFields_MySql_ShouldReturnResults() { //------------Setup for test-------------------------- Dev2FindMissingStrategyFactory fac = new Dev2FindMissingStrategyFactory(); IFindMissingStrategy strategy = fac.CreateFindMissingStrategy(enFindMissingType.DataGridActivity); var activity = new DsfMySqlDatabaseActivity { Inputs = new List <IServiceInput> { new ServiceInput("Input1", "[[InputValue1]]"), new ServiceInput("Input2", "[[InputValue2]]"), new ServiceInput("Input3", "[[InputValue3]]") }, Outputs = new List <IServiceOutputMapping> { new ServiceOutputMapping("Output1", "OutputValue1", "rec"), new ServiceOutputMapping("Output2", "OutputValue2", "rec") }, OnErrorVariable = "[[err]]", OnErrorWorkflow = "[[errSvc]]" }; //------------Execute Test--------------------------- var fields = strategy.GetActivityFields(activity); //------------Assert Results------------------------- Assert.AreEqual(7, fields.Count); Assert.IsTrue(fields.Contains("[[InputValue1]]")); Assert.IsTrue(fields.Contains("[[InputValue2]]")); Assert.IsTrue(fields.Contains("[[InputValue3]]")); Assert.IsTrue(fields.Contains("[[rec().OutputValue1]]")); Assert.IsTrue(fields.Contains("[[rec().OutputValue2]]")); Assert.IsTrue(fields.Contains("[[err]]")); Assert.IsTrue(fields.Contains("[[errSvc]]")); }
public static DsfMySqlDatabaseActivity GetDsfMySqlDatabaseActivity(DsfDatabaseActivity dbActivity, DbSource source, DbService service) { var dsfMySqlDatabaseActivity = new DsfMySqlDatabaseActivity { ResourceID = dbActivity.ResourceID, DisplayName = dbActivity.DisplayName, SourceId = source.ResourceID, ProcedureName = service.Method.ExecuteAction, Inputs = TranslateInputMappingToInputs(dbActivity.InputMapping), Outputs = TranslateOutputMappingToOutputs(dbActivity.OutputMapping), ToolboxFriendlyName = dbActivity.ToolboxFriendlyName, IconPath = dbActivity.IconPath, ServiceName = dbActivity.ServiceName, DataTags = dbActivity.DataTags, ResultValidationRequiredTags = dbActivity.ResultValidationRequiredTags, ResultValidationExpression = dbActivity.ResultValidationExpression, FriendlySourceName = dbActivity.FriendlySourceName, EnvironmentID = dbActivity.EnvironmentID, Type = dbActivity.Type, ActionName = dbActivity.ActionName, RunWorkflowAsync = dbActivity.RunWorkflowAsync, Category = dbActivity.Category, ServiceUri = dbActivity.ServiceUri, ServiceServer = dbActivity.ServiceServer, UniqueID = dbActivity.UniqueID, ParentServiceName = dbActivity.ParentServiceName, ParentServiceID = dbActivity.ParentServiceID, ParentWorkflowInstanceId = dbActivity.ParentWorkflowInstanceId, ParentInstanceID = dbActivity.ParentInstanceID, }; return(dsfMySqlDatabaseActivity); }
public void GivenIOpenAnExistingMysqlConnectorTool() { var mysqlActivity = new DsfMySqlDatabaseActivity(); var modelItem = ModelItemUtils.CreateModelItem(mysqlActivity); var mockDatabaseInputViewModel = new Mock <IManageDatabaseInputViewModel>(); var mockDbServiceModel = new Mock <IDbServiceModel>(); var mockEnvironmentRepo = new Mock <IServerRepository>(); var mockEnvironmentModel = new Mock <IServer>(); _outputMapping = new Mock <IServiceOutputMapping>(); mockEnvironmentModel.Setup(model => model.IsConnected).Returns(true); mockEnvironmentModel.Setup(model => model.IsLocalHost).Returns(true); mockEnvironmentModel.Setup(model => model.EnvironmentID).Returns(Guid.Empty); mockEnvironmentModel.Setup(model => model.IsLocalHostCheck()).Returns(false); mockEnvironmentRepo.Setup(repository => repository.ActiveServer).Returns(mockEnvironmentModel.Object); mockEnvironmentRepo.Setup(repository => repository.FindSingle(It.IsAny <Expression <Func <IServer, bool> > >())).Returns(mockEnvironmentModel.Object); _sqlSource = new DbSourceDefinition { Name = "DemoSqlsource", Type = enSourceType.MySqlDatabase, ServerName = "Localhost", UserName = "******", Password = "******", AuthenticationType = Dev2.Runtime.ServiceModel.Data.AuthenticationType.User }; _anotherSqlSource = new DbSourceDefinition { Name = "AnotherSqlSource", Type = enSourceType.MySqlDatabase, ServerName = "Localhost", UserName = "******", Password = "******", AuthenticationType = Dev2.Runtime.ServiceModel.Data.AuthenticationType.User }; var dbSources = new ObservableCollection <IDbSource> { _sqlSource, _anotherSqlSource }; mockDbServiceModel.Setup(model => model.RetrieveSources()).Returns(dbSources); mockDbServiceModel.Setup(model => model.GetActions(_sqlSource)); mockDatabaseInputViewModel.SetupAllProperties(); mockDatabaseInputViewModel.Setup(model => model.OkSelected).Returns(true); var mysqlDesignerViewModel = new MySqlDatabaseDesignerViewModel(modelItem, mockDbServiceModel.Object, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); var selectedSource = SetupSelectedSource(mysqlDesignerViewModel); _scenarioContext.Add("viewModel", mysqlDesignerViewModel); _scenarioContext.Add("mockDatabaseInputViewModel", mockDatabaseInputViewModel); _scenarioContext.Add("mockDbServiceModel", mockDbServiceModel); SetupActions(selectedSource); }
public void MySql_MethodName_ClearErrors() { //------------Setup for test-------------------------- var mod = new MySqlModel(); var act = new DsfMySqlDatabaseActivity(); var mySql = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); //------------Execute Test--------------------------- mySql.ClearValidationMemoWithNoFoundError(); //------------Assert Results------------------------- Assert.IsNull(mySql.Errors); Assert.AreEqual(mySql.DesignValidationErrors.Count, 1); }
public void MySql_Ctor_EmptyModelItem() { //------------Setup for test-------------------------- var mod = new MySqlModel(); var act = new DsfMySqlDatabaseActivity(); //------------Execute Test--------------------------- var mySql = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); //------------Assert Results------------------------- Assert.IsTrue(mySql.SourceRegion.IsEnabled); Assert.IsFalse(mySql.OutputsRegion.IsEnabled); Assert.IsFalse(mySql.InputArea.IsEnabled); Assert.IsTrue(mySql.ErrorRegion.IsEnabled); }
public void MySql_MethodName_ValidateExpectErrors() { //------------Setup for test-------------------------- var mod = new MySqlModel(); var act = new DsfMySqlDatabaseActivity(); //------------Execute Test--------------------------- var mySql = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); mySql.Validate(); //------------Assert Results------------------------- Assert.AreEqual(1, mySql.Errors.Count); Assert.AreEqual(2, mySql.DesignValidationErrors.Count); }
public void MySql_VerifyCommandTimeout() { //------------Setup for test-------------------------- var mod = new MySqlModel(); var act = new DsfMySqlDatabaseActivity(); //------------Execute Test--------------------------- using (var mySql = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder())) { mySql.InputArea.CommandTimeout = 321; //------------Assert Results------------------------- var dbService = mySql.ToModel(); Assert.AreEqual(321, dbService.CommandTimeout); } }
public void UniqueIDDifferent_EmptyMySqlDatabase_Object_Is_Not_Equal() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var activity1 = new DsfMySqlDatabaseActivity(); var mySqlDatabase = new DsfMySqlDatabaseActivity(); //---------------Assert Precondition---------------- Assert.IsNotNull(activity1); //---------------Execute Test ---------------------- var @equals = activity1.Equals(mySqlDatabase); //---------------Test Result ----------------------- Assert.IsFalse(@equals); }
public void MySql_TestActionSetSource() { //------------Setup for test-------------------------- var mod = new MySqlModel(); var act = new DsfMySqlDatabaseActivity(); //------------Execute Test--------------------------- var mySql = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); mySql.ManageServiceInputViewModel = new InputViewForTest(mySql, mod); mySql.SourceRegion.SelectedSource = mySql.SourceRegion.Sources.First(); //------------Assert Results------------------------- Assert.IsTrue(mySql.SourceRegion.IsEnabled); Assert.IsFalse(mySql.OutputsRegion.IsEnabled); Assert.IsFalse(mySql.InputArea.IsEnabled); Assert.IsTrue(mySql.ErrorRegion.IsEnabled); }
public void MySql_Refresh_ShouldLoadRefreshActions() { //------------Setup for test-------------------------- var id = Guid.NewGuid(); var mod = new MySqlModel(); var act = new DsfMySqlDatabaseActivity(); var sqlServer = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); sqlServer.ManageServiceInputViewModel = new InputViewForTest(sqlServer, mod); sqlServer.SourceRegion.SelectedSource = sqlServer.SourceRegion.Sources.First(); sqlServer.ActionRegion.IsRefreshing = false; //------------Execute Test--------------------------- sqlServer.ActionRegion.RefreshActionsCommand.Execute(null); //------------Assert Results------------------------- Assert.IsTrue(sqlServer.SourceRegion.IsEnabled); Assert.AreEqual(1, sqlServer.ActionRegion.Actions.Count); }
public void MySql_UpdateHelp_ShouldCallToHelpViewMode() { //------------Setup for test-------------------------- var mockMainViewModel = new Mock <IShellViewModel>(); var mockHelpViewModel = new Mock <IHelpWindowViewModel>(); mockHelpViewModel.Setup(model => model.UpdateHelpText(It.IsAny <string>())).Verifiable(); mockMainViewModel.Setup(model => model.HelpViewModel).Returns(mockHelpViewModel.Object); CustomContainer.Register(mockMainViewModel.Object); var mod = new MySqlModel(); mod.HasRecError = true; var act = new DsfMySqlDatabaseActivity(); var viewModel = new MySqlDatabaseDesignerViewModel(ModelItemUtils.CreateModelItem(act), mod, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); //------------Execute Test--------------------------- viewModel.UpdateHelpDescriptor("help"); //------------Assert Results------------------------- mockHelpViewModel.Verify(model => model.UpdateHelpText(It.IsAny <string>()), Times.Once()); }
public void Equals_Given_Different_ProcedureName_Is_Not_Equal() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var activity1 = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, ProcedureName = "A" }; var mySqlDatabase = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, ProcedureName = "ass" }; //---------------Assert Precondition---------------- Assert.IsNotNull(activity1); //---------------Execute Test ---------------------- var @equals = activity1.Equals(mySqlDatabase); //---------------Test Result ----------------------- Assert.IsFalse(@equals); }
public void UniqueIDEquals_EmptyMySqlDatabase_Object_Is_Equal() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var mySqlDatabase = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId }; var activity = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId }; //---------------Assert Precondition---------------- Assert.IsNotNull(mySqlDatabase); //---------------Execute Test ---------------------- var equals = mySqlDatabase.Equals(activity); //---------------Test Result ----------------------- Assert.IsTrue(@equals); }
public void Equals_Given_Same_DisplayName_IsEqual() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var activity1 = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, DisplayName = "a" }; var mySqlDatabase = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, DisplayName = "a" }; //---------------Assert Precondition---------------- Assert.IsNotNull(activity1); //---------------Execute Test ---------------------- var @equals = activity1.Equals(mySqlDatabase); //---------------Test Result ----------------------- Assert.IsTrue(@equals); }
public void GivenIHaveWorkflowWithMySqlDatabaseConnector(string workflowName, string activityName) { var environmentModel = _scenarioContext.Get <IServer>("server"); environmentModel.Connect(); CreateNewResourceModel(workflowName, environmentModel); CreateDBServiceModel(environmentModel); var dbServiceModel = _scenarioContext.Get <ManageDbServiceModel>("dbServiceModel"); var mySqlActivity = new DsfMySqlDatabaseActivity { DisplayName = activityName }; var modelItem = ModelItemUtils.CreateModelItem(mySqlActivity); var mysqlDesignerViewModel = new MySqlDatabaseDesignerViewModel(modelItem, dbServiceModel, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); var serviceInputViewModel = new ManageDatabaseServiceInputViewModel(mysqlDesignerViewModel, mysqlDesignerViewModel.Model); _commonSteps.AddActivityToActivityList(workflowName, activityName, mySqlActivity); DebugWriterSubscribe(environmentModel); _scenarioContext.Add("viewModel", mysqlDesignerViewModel); _scenarioContext.Add("parentName", workflowName); }
public void Equals_Given_SameOutputs_ActivityTools_AreEqual() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var outputs = new List <Common.Interfaces.DB.IServiceOutputMapping>(); var activity = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, Outputs = outputs }; var activity1 = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, Outputs = outputs }; //---------------Assert Precondition---------------- Assert.IsNotNull(activity); //---------------Execute Test ---------------------- var @equals = activity.Equals(activity1); //---------------Test Result ----------------------- Assert.IsTrue(@equals); }
public void GivenIHaveWorkflowWithMySqlDatabaseConnector(string workflowName, string activityName) { var environmentModel = _scenarioContext.Get <IServer>("server"); environmentModel.Connect(); _containerOps = TestLauncher.StartLocalMySQLContainer(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestResults")); environmentModel.LoadExplorer(true); CreateNewResourceModel(workflowName, environmentModel); CreateDBServiceModel(environmentModel); var dbServiceModel = _scenarioContext.Get <ManageDbServiceModel>("dbServiceModel"); var mySqlActivity = new DsfMySqlDatabaseActivity { DisplayName = activityName }; var modelItem = ModelItemUtils.CreateModelItem(mySqlActivity); var mysqlDesignerViewModel = new MySqlDatabaseDesignerViewModel(modelItem, dbServiceModel, new SynchronousAsyncWorker(), new ViewPropertyBuilder()); var serviceInputViewModel = new ManageDatabaseServiceInputViewModel(mysqlDesignerViewModel, mysqlDesignerViewModel.Model); _commonSteps.AddActivityToActivityList(workflowName, activityName, mySqlActivity); DebugWriterSubscribe(environmentModel); _scenarioContext.Add("viewModel", mysqlDesignerViewModel); _scenarioContext.Add("parentName", workflowName); }
public void Equals_Given_Different_SourceId_IsNotEqual() { //---------------Set up test pack------------------- var uniqueId = Guid.NewGuid().ToString(); var sourceId = Guid.NewGuid();; var sourceId2 = Guid.NewGuid();; var activity1 = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, SourceId = sourceId }; var activity = new DsfMySqlDatabaseActivity() { UniqueID = uniqueId, SourceId = sourceId2 }; //---------------Assert Precondition---------------- Assert.IsNotNull(activity1); //---------------Execute Test ---------------------- var @equals = activity1.Equals(activity); //---------------Test Result ----------------------- Assert.IsFalse(@equals); }