Пример #1
0
        public void can_get_columns_in_table()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.CreateDatabase("MyNewDatabase_TestingSequel");
            db.Use("MyNewDatabase_TestingSequel");
            db.CreateTable("my_first_table", "id int primary key identity, name varchar(255)");

            db.Tables["my_first_table"].ColumnNames.Count.ShouldEqual(2);
            db.Tables["my_first_table"].ColumnNames.ShouldContain("id");
            db.Tables["my_first_table"].ColumnNames.ShouldContain("name");
            (db.Tables["my_first_table"].Columns["id"].DataType.CompareTo(DbType.Int32)).ShouldEqual(0);
            (db.Tables["my_first_table"].Columns["name"].DataType.CompareTo(DbType.String)).ShouldEqual(0);

            // shortcut
            db["my_first_table"].ColumnNames.Count.ShouldEqual(2);
            db["my_first_table"].ColumnNames.ShouldContain("id");
            db["my_first_table"].ColumnNames.ShouldContain("name");

            // getting the key
            db["my_first_table"].KeyName.ShouldEqual("id");
            db["my_first_table"].KeyColumns.Count.ShouldEqual(1);
            db["my_first_table"].KeyColumns.First().Name.ShouldEqual("id");

            // TODO
            // using dynamic to get the table and columns
            // db.my_first_table.Columns.id.DataType.CompareTo(DbType.Int32).ShouldEqual(0);
        }
Пример #2
0
        public void before_each()
        {
            // Drop the databases that we use for testing
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.DropDatabase("MyNewDatabase_TestingSequel");
        }
Пример #3
0
        public void can_create_new_database()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.DatabaseNames.ShouldNotContain("MyNewDatabase_TestingSequel");

            db.CreateDatabase("MyNewDatabase_TestingSequel").ShouldBeTrue();             // Returns whether or not it was successful

            db.DatabaseNames.ShouldContain("MyNewDatabase_TestingSequel");

            // If we try adding it again, it should be false
            db.CreateDatabase("MyNewDatabase_TestingSequel").ShouldBeFalse();
        }
Пример #4
0
        public void can_Use_a_database()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.TableNames.ShouldContain("spt_fallback_db");             // do all master databases have this?

            db.CreateDatabase("MyNewDatabase_TestingSequel");
            db.Use("MyNewDatabase_TestingSequel");
            db.TableNames.ShouldNotContain("spt_fallback_db");

            db.Use("master");
            db.TableNames.ShouldContain("spt_fallback_db");             // do all master databases have this?
        }
Пример #5
0
        public void can_connect_to_SQL_Server_using_Sequel_Connect_with_connection_string()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.ConnectionString.ShouldEqual(SqlServerConnectionString);

            db.DatabaseNames.Count.Should(Be.GreaterThanOrEqualTo(4));

            new List <string> {
                "master", "tempdb", "model", "msdb"
            }.ForEach(name => {
                db.DatabaseNames.ShouldContain(name);
            });
        }
Пример #6
0
        public void can_add_table_to_database()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.CreateDatabase("MyNewDatabase_TestingSequel");
            db.Use("MyNewDatabase_TestingSequel");

            db.TableNames.ShouldNotContain("my_first_table");

            // crappy CreateTable implementation, but it's a start ... we don't NEED CreateTable support in SequelSharp yet.  We need Insert support more.  Fix this later!
            db.CreateTable("my_first_table", "id int primary key identity, name varchar(255)");

            db.TableNames.ShouldContain("my_first_table");

            // db.CreateTable("my_first_table", t => {
            //  t.String("Foo");
            //  t.String("Whatever", length: 50, nullable: false);
            // });

            // db.NewTable("my_first_table").
            //  WithColumn().
            //  WithColumn().
            //  WithColumn().
            //  Create();

            // db.CreateTable("my_first_table", Columns[]);

            /*
             *      CreateTable syntaxes I want to support ...
             *
             *      var table = db.NewTable("foo"); // or new TableBuilder("foo", db);
             *      table.AddColumn();
             *      table.AddColumn();
             *      table.Create(); // or db.CreateTable(table);
             *
             *      Also ... CreateTable("dogs", "id INT, name TEXT");
             *
             *      Also ... CreateTable("dogs", t => {
             *              t.Column(typeof(String), "Name");
             *              t.Column<string>("Name");
             *              t.String("name");
             *      });
             *
             */
        }
Пример #7
0
        public void can_insert_new_rows()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.CreateDatabase("MyNewDatabase_TestingSequel");
            db.Use("MyNewDatabase_TestingSequel");
            db.CreateTable("my_first_table", "id int primary key identity, name varchar(255)");

            var table = db["my_first_table"];

            table.Count.ShouldEqual(0);

            table.Insert(new { name = "My Name" });

            table.Count.ShouldEqual(1);
            table.All.First()["name"].ShouldEqual("My Name");
            table.First["name"].ShouldEqual("My Name");
            table.Last["name"].ShouldEqual("My Name");
        }
Пример #8
0
        public void can_update_rows()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.CreateDatabase("MyNewDatabase_TestingSequel");
            db.Use("MyNewDatabase_TestingSequel");
            db.CreateTable("my_first_table", "id int primary key identity, name varchar(255)");

            var table = db["my_first_table"];

            table.Count.ShouldEqual(0);

            table.Insert(new { name = "My Name" });

            table.Count.ShouldEqual(1);
            table.First["name"].ShouldEqual("My Name");

            table.First.Table.Name.ShouldEqual("my_first_table");             // make sure the column knows its table
            table.First.Update(new { name = "Changed Name!" });

            table.Count.ShouldEqual(1);
            table.First["name"].ShouldNotEqual("My Name");
            table.First["name"].ShouldEqual("Changed Name!");
        }
Пример #9
0
    public void Assign(Sequel zSequel)
    {
        Sequel = zSequel;

        Refresh();
    }
Пример #10
0
        public void can_list_tables_in_database()
        {
            var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase;

            db.TableNames.ShouldContain("spt_fallback_db");             // do all master databases have this?
        }