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); }
public void before_each() { // Drop the databases that we use for testing var db = Sequel.Connect("sqlserver://" + SqlServerConnectionString) as SqlServerDatabase; db.DropDatabase("MyNewDatabase_TestingSequel"); }
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(); }
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? }
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); }); }
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"); * }); * */ }
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"); }
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!"); }
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? }