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 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 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 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 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 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); }
static IDbSource SetupSelectedSource(MySqlDatabaseDesignerViewModel mysqlDesignerViewModel) { return(mysqlDesignerViewModel.SourceRegion.SelectedSource = mysqlDesignerViewModel.SourceRegion.Sources.FirstOrDefault(p => p.Name == "DemoSqlsource")); }