Exemplo n.º 1
0
        public void AdvancedRecordsetViewModel_ParseTSQL_SelectStatementWithAllias_2_ReturnOutputs()
        {
            //------------Setup for test--------------------------
            CustomContainer.LoadedTypes = new List <Type>
            {
                typeof(ManageSqliteServiceInputViewModel)
            };
            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);
            var server        = new Mock <IServer>();
            var updatemanager = new Mock <IStudioUpdateManager>();
            var queryManager  = new Mock <IQueryManager>();

            server.Setup(server1 => server1.UpdateRepository).Returns(updatemanager.Object);
            server.Setup(server1 => server1.QueryProxy).Returns(queryManager.Object);
            mockMainViewModel.Setup(model => model.ActiveServer).Returns(server.Object);
            CustomContainer.Register(mockMainViewModel.Object);

            var dataListViewModel = new DataListViewModel();

            dataListViewModel.InitializeDataListViewModel(new Mock <IResourceModel>().Object);
            var recordSetItemModel       = new RecordSetItemModel("person", enDev2ColumnArgumentDirection.Input);
            var recordSetFieldItemModels = new ObservableCollection <IRecordSetFieldItemModel>
            {
                new RecordSetFieldItemModel("name", recordSetItemModel),
                new RecordSetFieldItemModel("age", recordSetItemModel),
                new RecordSetFieldItemModel("address_id", recordSetItemModel)
            };

            recordSetItemModel.Children = recordSetFieldItemModels;
            dataListViewModel.RecsetCollection.Add(recordSetItemModel);

            DataListSingleton.SetDataList(dataListViewModel);

            var act = new AdvancedRecordsetActivity();

            const string query = "select p.name as username,p.address_id as address from person p";

            //------------Execute Test---------------------------
            using (var viewModel = new AdvancedRecordsetDesignerViewModel(ModelItemUtils.CreateModelItem(act), new ViewPropertyBuilder()))
            {
                viewModel.SqlQuery = query;
                viewModel.OutputsRegion.RecordsetName = "NewPerson";
                viewModel.GenerateOutputsCommand.Execute(query);

                //------------Assert Results-------------------------
                Assert.IsNotNull(viewModel.OutputsRegion.Outputs);
                Assert.IsTrue(viewModel.OutputsRegion.IsEnabled);
                Assert.IsTrue(viewModel.ErrorRegion.IsEnabled);

                Assert.AreEqual(2, viewModel.OutputsRegion.Outputs.Count);
                Assert.AreEqual("[[NewPerson().username]]", viewModel.OutputsRegion.Outputs.First().MappedTo);
                Assert.AreEqual("username", viewModel.OutputsRegion.Outputs.First().MappedFrom);
                Assert.AreEqual("[[NewPerson().address]]", viewModel.OutputsRegion.Outputs.Last().MappedTo);
                Assert.AreEqual("address", viewModel.OutputsRegion.Outputs.Last().MappedFrom);
            }
        }
Exemplo n.º 2
0
        IContextualResourceModel CreateItemModelResourceModel(bool isConnected = true)
        {
            var moqModel = new Mock <IContextualResourceModel>();

            moqModel.SetupAllProperties();
            moqModel.Setup(model => model.DisplayName).Returns("My WF");
            moqModel.Setup(model => model.Environment.Connection.IsConnected).Returns(isConnected);
            moqModel.Setup(model => model.Environment.IsConnected).Returns(isConnected);
            moqModel.Setup(model => model.Environment.Connection.WebServerUri).Returns(new Uri("http://rsaklf/bob"));
            moqModel.Setup(model => model.Category).Returns("My WF");
            moqModel.Setup(model => model.Environment.IsLocalHost).Returns(isConnected);
            moqModel.Setup(model => model.ResourceName).Returns("My WF");

            var dataListViewModel = new DataListViewModel();

            dataListViewModel.InitializeDataListViewModel(moqModel.Object);
            dataListViewModel.Add(new ScalarItemModel("Name", enDev2ColumnArgumentDirection.Input));
            dataListViewModel.Add(new ScalarItemModel("Surname", enDev2ColumnArgumentDirection.Input));

            var recordSetItemModel       = new RecordSetItemModel("Person", enDev2ColumnArgumentDirection.Input);
            var recordSetFieldItemModels = new ObservableCollection <IRecordSetFieldItemModel>
            {
                new RecordSetFieldItemModel("Name", recordSetItemModel, enDev2ColumnArgumentDirection.Input),
                new RecordSetFieldItemModel("Surname", recordSetItemModel, enDev2ColumnArgumentDirection.Input),
            };

            recordSetItemModel.Children = recordSetFieldItemModels;
            dataListViewModel.RecsetCollection.Add(recordSetItemModel);
            DataListSingleton.SetDataList(dataListViewModel);

            dataListViewModel.WriteToResourceModel();
            return(moqModel.Object);
        }
Exemplo n.º 3
0
        public static IRecordSetItemModel CreateRecordSetItemModel(ItemModel model, string displayname, string description, IDataListItemModel parent, OptomizedObservableCollection <IRecordSetFieldItemModel> children, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection)
        {
            IRecordSetItemModel dataListModel = new RecordSetItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, model.HasError, model.ErrorMessage, model.IsEditable, model.IsVisable, model.IsSelected);

            if (parent != null && !String.IsNullOrEmpty(displayname))
            {
                dataListModel.DisplayName = parent.DisplayName + "()." + displayname;
            }
            return(dataListModel);
        }
        public static IRecordSetItemModel CreateRecordSetItemModel(string displayname, string description = "", IDataListItemModel parent = null, OptomizedObservableCollection <IRecordSetFieldItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None)
        {
            IRecordSetItemModel dataListModel = new RecordSetItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, hasError, errorMessage, isEditable, isVisable, isSelected);

            if (parent != null && !String.IsNullOrEmpty(displayname))
            {
                dataListModel.DisplayName = parent.DisplayName + "()." + displayname;
            }
            return(dataListModel);
        }
Exemplo n.º 5
0
        public void AdvancedRecordsetViewModel_ValidateSql_ShowsCorrectErrorFormat()
        {
            CustomContainer.LoadedTypes = new List <Type>
            {
                typeof(ManageSqliteServiceInputViewModel)
            };
            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);
            var server        = new Mock <IServer>();
            var updatemanager = new Mock <IStudioUpdateManager>();
            var queryManager  = new Mock <IQueryManager>();

            server.Setup(server1 => server1.UpdateRepository).Returns(updatemanager.Object);
            server.Setup(server1 => server1.QueryProxy).Returns(queryManager.Object);
            mockMainViewModel.Setup(model => model.ActiveServer).Returns(server.Object);
            CustomContainer.Register(mockMainViewModel.Object);
            var dataListViewModel = new DataListViewModel();

            dataListViewModel.InitializeDataListViewModel(new Mock <IResourceModel>().Object);
            var recordSetItemModel       = new RecordSetItemModel("selectPerson", enDev2ColumnArgumentDirection.Input);
            var recordSetFieldItemModels = new ObservableCollection <IRecordSetFieldItemModel>
            {
                new RecordSetFieldItemModel("name", recordSetItemModel),
                new RecordSetFieldItemModel("age", recordSetItemModel),
                new RecordSetFieldItemModel("address_id", recordSetItemModel)
            };

            recordSetItemModel.Children = recordSetFieldItemModels;
            dataListViewModel.RecsetCollection.Add(recordSetItemModel);
            DataListSingleton.SetDataList(dataListViewModel);

            //------------Setup for test--------------------------
            var          act            = new AdvancedRecordsetActivity();
            const string expectedFormat = "Invalid Output Mapping: count ( * )";

            using (var advancedRecordset = new AdvancedRecordsetDesignerViewModel(ModelItemUtils.CreateModelItem(act), new ViewPropertyBuilder()))
            {
                advancedRecordset.SqlQuery = "select count(*) from [[selectPerson(*)]]";

                //------------Execute Test---------------------------
                advancedRecordset.ValidateSql();
                advancedRecordset.Validate();
                //------------Assert Results-------------------------
                Assert.AreEqual(1, advancedRecordset.Errors.Count);
                Assert.AreEqual(expectedFormat, advancedRecordset.Errors[0].Message);
            }
        }
Exemplo n.º 6
0
        public void ValidateRecordsetName_GivenInvalidName_ShouldHaveErrorMessage()
        {
            //---------------Set up test pack-------------------
            RecordSetItemModel recordSetItemModel = new RecordSetItemModel("DisplayName");

            //---------------Assert Precondition----------------
            Assert.IsTrue(string.IsNullOrEmpty(recordSetItemModel.ErrorMessage));
            //---------------Execute Test ----------------------
            recordSetItemModel.DisplayName = "UnitTestWith&amp;&lt;&gt;&quot;&apos;";
            recordSetItemModel.ValidateName(recordSetItemModel.DisplayName);//Convention
            //---------------Test Result -----------------------
            var hasErrorMsg = !string.IsNullOrEmpty(recordSetItemModel.ErrorMessage);

            Assert.IsTrue(hasErrorMsg, "Invalid recordset name does not have error message.");
        }
Exemplo n.º 7
0
        public void Validatename_GivenValidName_ShouldHaveNoErrorMessage()
        {
            //---------------Set up test pack-------------------
            RecordSetItemModel recordSetItemModel = new RecordSetItemModel("DisplayName");

            //---------------Assert Precondition----------------
            Assert.IsTrue(string.IsNullOrEmpty(recordSetItemModel.ErrorMessage));
            //---------------Execute Test ----------------------
            recordSetItemModel.DisplayName = "UnitTestDisplayName";
            recordSetItemModel.ValidateName(recordSetItemModel.DisplayName);//Convention
            //---------------Test Result -----------------------
            var hasErrorMsg = string.IsNullOrEmpty(recordSetItemModel.ErrorMessage);

            Assert.IsTrue(hasErrorMsg);
        }
Exemplo n.º 8
0
        public void RecordsetItemModel_ValidateName_GivenNameHasXmlEscapeCharacters_ShouldHaveErrorMessage()
        {
            //---------------Set up test pack-------------------
            var recordSetItemModel = new RecordSetItemModel("DisplayName");

            //---------------Assert Precondition----------------
            Assert.IsTrue(string.IsNullOrEmpty(recordSetItemModel.ErrorMessage));
            //---------------Execute Test ----------------------
            recordSetItemModel.DisplayName = "UnitTestWith<>";
            recordSetItemModel.ValidateName(recordSetItemModel.DisplayName);//Convention
            //---------------Test Result -----------------------
            var hasErrorMsg = !string.IsNullOrEmpty(recordSetItemModel.ErrorMessage);

            Assert.IsTrue(hasErrorMsg);
        }
Exemplo n.º 9
0
        protected void BuildShapeAndTestData()
        {
            var shape = new XElement("root");
            var data  = new XElement("root");

            var row = 0;

            _scenarioContext.TryGetValue("variableList", out dynamic variableList);
            if (variableList != null)
            {
                try
                {
                    foreach (dynamic variable in variableList)
                    {
                        var variableName = DataListUtil.AddBracketsToValueIfNotExist(variable.Item1);
                        if (!string.IsNullOrEmpty(variable.Item1) && !string.IsNullOrEmpty(variable.Item2))
                        {
                            string value = variable.Item2 == "blank" ? "" : variable.Item2;
                            if (value.ToUpper() == "NULL")
                            {
                                DataObject.Environment.AssignDataShape(variable.Item1);
                            }
                            else
                            {
                                DataObject.Environment.Assign(variableName, value, 0);
                            }
                        }
                        if (DataListUtil.IsValueScalar(variableName))
                        {
                            var scalarName      = DataListUtil.RemoveLanguageBrackets(variableName);
                            var scalarItemModel = new ScalarItemModel(scalarName);
                            if (!scalarItemModel.HasError)
                            {
                                DataListSingleton.ActiveDataList.Add(scalarItemModel);
                            }
                        }
                        if (DataListUtil.IsValueRecordsetWithFields(variableName))
                        {
                            var rsName    = DataListUtil.ExtractRecordsetNameFromValue(variableName);
                            var fieldName = DataListUtil.ExtractFieldNameOnlyFromValue(variableName);
                            var rs        = DataListSingleton.ActiveDataList.RecsetCollection.FirstOrDefault(model => model.Name == rsName);
                            if (rs == null)
                            {
                                var recordSetItemModel = new RecordSetItemModel(rsName);
                                DataListSingleton.ActiveDataList.Add(recordSetItemModel);
                                recordSetItemModel.Children.Add(new RecordSetFieldItemModel(fieldName,
                                                                                            recordSetItemModel));
                            }
                            else
                            {
                                var recordSetFieldItemModel = rs.Children.FirstOrDefault(model => model.Name == fieldName);
                                if (recordSetFieldItemModel == null)
                                {
                                    rs.Children.Add(new RecordSetFieldItemModel(fieldName, rs));
                                }
                            }
                        }
                        //Build(variable, shape, data, row)
                        row++;
                    }
                    DataListSingleton.ActiveDataList.WriteToResourceModel();
                }
                catch
                {
                    //Exception
                }
            }

            var isAdded = _scenarioContext.TryGetValue("rs", out List <Tuple <string, string> > emptyRecordset);

            if (isAdded)
            {
                foreach (Tuple <string, string> emptyRecord in emptyRecordset)
                {
                    DataObject.Environment.Assign(DataListUtil.AddBracketsToValueIfNotExist(emptyRecord.Item1), emptyRecord.Item2, 0);
                }
            }

            _scenarioContext.TryGetValue("objList", out dynamic objList);
            if (objList != null)
            {
                try
                {
                    foreach (dynamic variable in objList)
                    {
                        if (!string.IsNullOrEmpty(variable.Item1) && !string.IsNullOrEmpty(variable.Item2))
                        {
                            string value = variable.Item2 == "blank" ? "" : variable.Item2;
                            if (value.ToUpper() == "NULL")
                            {
                                DataObject.Environment.AssignDataShape(variable.Item1);
                            }
                            else
                            {
                                DataObject.Environment.AssignJson(new AssignValue(DataListUtil.AddBracketsToValueIfNotExist(variable.Item1), value), 0);
                            }
                        }
                    }
                }
                catch
                {
                    //Exception
                }
            }

            CurrentDl = shape.ToString();
            TestData  = data.ToString();
        }