Exemple #1
0
        public void GetDatabaseTables_UnitTest_ExecuteWithNullValues_ExpectedInvalidDataContractException()
        {
            var esb    = new GetDatabaseTables();
            var actual = esb.Execute(null, null);

            Assert.AreEqual(string.Empty, actual);
        }
Exemple #2
0
        public void GetDatabaseTables_UnitTest_HandlesType_ExpectedReturnsGetDatabaseTablesService()
        {
            var esb    = new GetDatabaseTables();
            var result = esb.HandlesType();

            Assert.AreEqual("GetDatabaseTablesService", result);
        }
Exemple #3
0
        public void GetDatabaseTables_Execute_InValidDatabaseName()
        {
            var parser = new Mock <IActivityParser>();

            parser.Setup(a => a.Parse(It.IsAny <DynamicActivity>())).Returns(new Mock <IDev2Activity>().Object);
            CustomContainer.Register(parser.Object);
            //------------Setup for test--------------------------
            var dbSource = CreateDev2TestingDbSource(true);

            ResourceCatalog.Instance.SaveResource(Guid.Empty, dbSource, "");
            var someJsonData  = JsonConvert.SerializeObject(dbSource);
            var esb           = new GetDatabaseTables();
            var mockWorkspace = new Mock <IWorkspace>();

            mockWorkspace.Setup(workspace => workspace.ID).Returns(Guid.Empty);
            //------------Execute Test---------------------------
            var actual = esb.Execute(new Dictionary <string, StringBuilder> {
                { "Database", new StringBuilder(someJsonData) }
            }, mockWorkspace.Object);
            //------------Assert Results-------------------------
            var value = actual.ToString();

            Assert.IsFalse(string.IsNullOrEmpty(value));
            var result = JsonConvert.DeserializeObject <DbTableList>(value);

            Assert.IsTrue(result.HasErrors);
            Assert.IsTrue(value.Contains("Invalid database sent"));
        }
        public void GetDatabaseTables_Execute_ValidDatabaseSource()
        {
            //------------Setup for test--------------------------
            var dbSource = CreateDev2TestingDbSource();

            ResourceCatalog.Instance.SaveResource(Guid.Empty, dbSource);
            string someJsonData  = JsonConvert.SerializeObject(dbSource);
            var    esb           = new GetDatabaseTables();
            var    mockWorkspace = new Mock <IWorkspace>();

            mockWorkspace.Setup(workspace => workspace.ID).Returns(Guid.Empty);
            //------------Execute Test---------------------------
            var actual = esb.Execute(new Dictionary <string, StringBuilder> {
                { "Database", new StringBuilder(someJsonData) }
            }, mockWorkspace.Object);
            //------------Assert Results-------------------------
            var value = actual.ToString();

            Assert.IsFalse(string.IsNullOrEmpty(value));
            var result = JsonConvert.DeserializeObject <DbTableList>(value);

            Assert.IsTrue(result.Items.Count > 2);
            var duplicateTables = result.Items.FindAll(table => table.TableName.Contains("[City]"));

            Assert.AreEqual(2, duplicateTables.Count);
            var dboCityTable      = duplicateTables.Find(table => table.Schema == "dbo");
            var warewolfCityTable = duplicateTables.Find(table => table.Schema == "Warewolf");

            Assert.IsNotNull(dboCityTable);
            Assert.AreEqual("dbo", dboCityTable.Schema);
            Assert.IsNotNull(warewolfCityTable);
            Assert.AreEqual("Warewolf", warewolfCityTable.Schema);
        }
Exemple #5
0
        public void GetAuthorizationContextForService_ShouldReturnContext()
        {
            //------------Setup for test--------------------------
            var getDatabaseTables = new GetDatabaseTables();

            //------------Execute Test---------------------------
            var resId = getDatabaseTables.GetAuthorizationContextForService();

            //------------Assert Results-------------------------
            Assert.AreEqual(AuthorizationContext.Any, resId);
        }
Exemple #6
0
        public void GetResourceID_ShouldReturnEmptyGuid()
        {
            //------------Setup for test--------------------------
            var getDatabaseTables = new GetDatabaseTables();

            //------------Execute Test---------------------------
            var resId = getDatabaseTables.GetResourceID(new Dictionary <string, StringBuilder>());

            //------------Assert Results-------------------------
            Assert.AreEqual(Guid.Empty, resId);
        }
Exemple #7
0
        public void GetDatabaseTables_UnitTest_ExecuteWithBlankDatabase_ExpectHasErrors()
        {
            var esb    = new GetDatabaseTables();
            var actual = esb.Execute(new Dictionary <string, StringBuilder> {
                { "Database", new StringBuilder() }
            }, null);

            Assert.IsNotNull(actual);
            var result = JsonConvert.DeserializeObject <DbTableList>(actual.ToString());

            Assert.IsTrue(result.HasErrors);
            Assert.AreEqual("No database set.", result.Errors);
        }
Exemple #8
0
        public void GetDatabaseTables_UnitTest_ExecuteWithDatabaseNotValidJson_ExpectedHasErrors()
        {
            var esb    = new GetDatabaseTables();
            var actual = esb.Execute(new Dictionary <string, StringBuilder> {
                { "Database", new StringBuilder("Test") }
            }, null);

            Assert.IsNotNull(actual);
            var result = JsonConvert.DeserializeObject <DbTableList>(actual.ToString());

            Assert.IsTrue(result.HasErrors);
            Assert.AreEqual("Invalid JSON data for Database parameter. Exception: Unexpected character encountered while parsing value: T. Path '', line 0, position 0.", result.Errors);
        }
Exemple #9
0
        public void GetDatabaseTables_UnitTest_ExecuteWithNotDbSourceJson_ExpectedHasErrors()
        {
            const string someJsonData = "{Val:1}";
            var          esb          = new GetDatabaseTables();
            var          actual       = esb.Execute(new Dictionary <string, StringBuilder> {
                { "Database", new StringBuilder(someJsonData) }
            }, null);

            Assert.IsNotNull(actual);
            var result = JsonConvert.DeserializeObject <DbTableList>(actual.ToString());

            Assert.IsTrue(result.HasErrors);
            Assert.AreEqual("Invalid Database source", result.Errors);
        }
Exemple #10
0
        public void GetDatabaseTables_UnitTest_CreateServiceEntry_ExpectedReturnsDynamicService()
        {
            var esb    = new GetDatabaseTables();
            var result = esb.CreateServiceEntry();

            Assert.AreEqual(esb.HandlesType(), result.Name);
            Assert.AreEqual("<DataList><Database ColumnIODirection=\"Input\"/><Dev2System.ManagmentServicePayload ColumnIODirection=\"Both\"></Dev2System.ManagmentServicePayload></DataList>", result.DataListSpecification.ToString());
            Assert.AreEqual(1, result.Actions.Count);

            var serviceAction = result.Actions[0];

            Assert.AreEqual(esb.HandlesType(), serviceAction.Name);
            Assert.AreEqual(enActionType.InvokeManagementDynamicService, serviceAction.ActionType);
            Assert.AreEqual(esb.HandlesType(), serviceAction.SourceMethod);
        }
Exemple #11
0
        public void GetDatabaseTables_Execute_ValidDatabaseSource()
        {
            var parser = new Mock <IActivityParser>();

            parser.Setup(a => a.Parse(It.IsAny <DynamicActivity>())).Returns(new Mock <IDev2Activity>().Object);
            CustomContainer.Register(parser.Object);
            //------------Setup for test--------------------------
            GetDatabaseColumnsForTableTests._containerOps = new Depends(Depends.ContainerType.MSSQL);
            var dbSource = CreateDev2TestingDbSource();

            ResourceCatalog.Instance.SaveResource(Guid.Empty, dbSource, "");
            var someJsonData  = JsonConvert.SerializeObject(dbSource);
            var esb           = new GetDatabaseTables();
            var mockWorkspace = new Mock <IWorkspace>();

            mockWorkspace.Setup(workspace => workspace.ID).Returns(Guid.Empty);
            //------------Execute Test---------------------------
            var actual = esb.Execute(new Dictionary <string, StringBuilder> {
                { "Database", new StringBuilder(someJsonData) }
            }, mockWorkspace.Object);
            //------------Assert Results-------------------------
            var value = actual.ToString();

            Assert.IsFalse(string.IsNullOrEmpty(value));
            var result = JsonConvert.DeserializeObject <DbTableList>(value);

            Assert.IsTrue(result.Items.Count > 2, "Wrong tables in database: \"" + value + "\" expecting only 2 tables in the database.");
            var duplicateTables = result.Items.FindAll(table => table.TableName.Contains("[City]"));

            Assert.AreEqual(2, duplicateTables.Count);
            var dboCityTable      = duplicateTables.Find(table => table.Schema == "dbo");
            var warewolfCityTable = duplicateTables.Find(table => table.Schema == "Warewolf");

            Assert.IsNotNull(dboCityTable);
            Assert.AreEqual("dbo", dboCityTable.Schema);
            Assert.IsNotNull(warewolfCityTable);
            Assert.AreEqual("Warewolf", warewolfCityTable.Schema);
        }