示例#1
0
        public void Test_if_database_was_mapped_to_Fake_and_saved_in_XML()
        {
            var dbConn = new DatabaseConnectionMySQL()
            {
                Database   = FakeDatabaseFactory.NewDatabase("Name_which_will_be_replaced_after_mapping"),
                Connection = new MySqlConnection()
                {
                    ConnectionString = $"" +
                                       $"Data Source=sql11.freemysqlhosting.net;" +
                                       $"Initial Catalog=INFORMATION_SCHEMA;" + // Start in Database where all required informations about all Databases on Server are stored
                                       $"User id=sql11192873;" +
                                       $"Password=;"
                }
            };

            dbConn.ToFake("sql11192873"); // This weird name is an actual Database Name

            var fakeDb = dbConn.Database;

            var fileStream = new FileStream("db_mysql.xml", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

            using (var writer = XmlWriter.Create(fileStream))
            {
                var serializer = new FakeDbSerializer <XmlReader, XmlWriter>()
                {
                    Database      = fakeDb,
                    Configuration = new FakeDbXMLByColumnConfiguration()
                };
                serializer.WriteDatabase(writer);
            }

            Assert.True(fakeDb.Tables.Count() > 0);
        }
示例#2
0
        public void Test_if_database_was_mapped_to_Fake_and_saved_in_XML()
        {
            // Test for SQL Server 13.0.4422.0
            var dbConn = new DatabaseConnectionMSSQL()
            {
                Database   = FakeDatabaseFactory.NewDatabase("Name_which_will_be_replaced_after_mapping"),
                Connection = new SqlConnection()
                {
                    ConnectionString = $"" +
                                       $"Server=mssql6.gear.host;" +
                                       $"Database=testdb49;" +
                                       $"User Id=testdb49;" +
                                       $"Password=;"
                }
            };

            dbConn.ToFake("testdb49"); // This weird name is an actual Database Name

            var fakeDb = dbConn.Database;

            var fileStream = new FileStream("db_mssql.xml", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

            using (var writer = XmlWriter.Create(fileStream))
            {
                var serializer = new FakeDbSerializer <XmlReader, XmlWriter>()
                {
                    Database      = fakeDb,
                    Configuration = new FakeDbXMLByColumnConfiguration()
                };
                serializer.WriteDatabase(writer);
            }

            Assert.True(fakeDb.Tables.Count() > 0);
        }
        public void Try_to_read_Database_from_JSON()
        {
            // Pre-generate test file and fill it with data.
            Try_to_write_Database_to_JSON();

            using (JsonReader reader = new JsonTextReader(File.OpenText(PATH)))
            {
                var serializer = new FakeDbSerializer <JsonReader, JsonWriter>()
                {
                    Configuration = new FakeDbJSONByColumnConfiguration()
                };
                serializer.ReadDatabase(reader);

                var db = serializer.Database;

                Assert.True(db != null);
                Assert.Equal("Test Database", db.Name);
                Assert.True(db.Tables.Count() == 2);
                Assert.Equal("Poland", db["Countries"]["CountryName"][0]);
            }
        }
        public void Try_to_read_Database_from_XML()
        {
            // Pre-generate test file and fill it with data.
            Try_to_write_Database_to_XML();

            var fileStream = new FileStream(PATH, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

            var serializer = new FakeDbSerializer <XmlReader, XmlWriter>()
            {
                Configuration = new FakeDbXMLByColumnConfiguration()
            };

            serializer.ReadDatabase(XDocument.Load(fileStream).CreateReader());

            var db = serializer.Database;

            Assert.True(db != null);
            Assert.Equal("Test Database", db.Name);
            Assert.True(db.Tables.Count() == 2);
            Assert.Equal("Poland", db["Countries"]["CountryName"][0]);
        }
        public void Try_to_write_Database_to_JSON()
        {
            try
            {
                File.Delete(PATH);
            }
            catch (Exception) { }

            var db = FakeDatabaseData.GetDatabaseWithData();

            using (JsonWriter writer = new JsonTextWriter(File.CreateText(PATH)))
            {
                var serializer = new FakeDbSerializer <JsonReader, JsonWriter>()
                {
                    Database      = db,
                    Configuration = new FakeDbJSONByColumnConfiguration()
                };
                serializer.WriteDatabase(writer);
            }

            Assert.True(db != null);
        }
        public void Test_if_IFakeDatabase_was_saved_to_file_using_DataSet()
        {
            try
            {
                File.Delete(PATH);
            }
            catch (Exception) { }

            var db         = FakeDatabaseData.GetDatabaseWithData();
            var fileStream = new FileStream(PATH, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

            using (var writer = XmlWriter.Create(fileStream))
            {
                var serializer = new FakeDbSerializer <XmlReader, XmlWriter>()
                {
                    Database      = db,
                    Configuration = new FakeDbDataSetConfiguration()
                };
                serializer.WriteDatabase(writer);
            }

            Assert.True(fileStream != null);
        }
        public void Try_to_read_IFakeDatabase_from_file_using_DataSet()
        {
            try
            {
                File.Delete(PATH_2);
            }
            catch (Exception) { }

            var db         = FakeDatabaseData.GetDatabaseWithData();
            var fileStream = new FileStream(PATH_2, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

            var serializer = new FakeDbSerializer <XmlReader, XmlWriter>()
            {
                Database      = db,
                Configuration = new FakeDbDataSetConfiguration()
            };

            lock (new object())
            {
                serializer.WriteDatabase(XmlWriter.Create(fileStream));
                fileStream.Flush();
                fileStream.Close();
            }

            // Prepare to read
            serializer.Database = FakeDatabaseFactory.NewDatabase("New empty Database for Read Test");
            fileStream          = new FileStream(PATH_2, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
            serializer.ReadDatabase(XmlReader.Create(fileStream));

            var dbReaded = serializer.Database;

            Assert.True(db != null);
            Assert.Equal("Test Database", db.Name);
            Assert.True(db.Tables.Count() == 2);
            Assert.Equal("Poland", db["Countries"]["CountryName"][0]);
        }