Beispiel #1
0
        public void TestCreatePlayer()
        {
            User      user = new User(Guid.NewGuid(), "testuser", "user");
            IDatabase db   = new PostgreSQLDB("Mtcg", "mtcg");

            Assert.IsTrue(db.CreatePlayer(user));
            User us = db.ReadPlayer(user.ID);

            Assert.IsNotNull(us);
            Assert.AreEqual(us.ID, user.ID);
        }
Beispiel #2
0
        public void TestCreateCard()
        {
            Card      c1 = new Card(Guid.NewGuid(), Element.Fire, "FireElf", 10);
            IDatabase db = new PostgreSQLDB("Mtcg", "mtcg");

            Assert.IsTrue(db.CreateCard(c1));
            Card c2 = db.ReadCard(c1.id);

            Assert.IsNotNull(c2);
            Assert.AreEqual(c1, c2);
        }
Beispiel #3
0
        public void TestRegister()
        {
            User      user = new User(Guid.NewGuid(), "testuser", "user");
            IDatabase db   = new PostgreSQLDB("Mtcg", "mtcg");

            Server s = new Server(db);

            Assert.IsTrue(s.Register(user));//only true if db empty

            Assert.AreEqual(user, db.ReadPlayer(user.Username));
            Assert.AreEqual(user, db.ReadPlayer(user.ID));
        }
Beispiel #4
0
        public void TestCheckAuthorization()
        {
            Dictionary <string, string> header = new Dictionary <string, string>();

            header.Add("Authorization", "Basic altenhof-mtcgToken");

            RequestContext rc = new RequestContext("demo", "egal", "http", header, "", 0);
            IDatabase      db = new PostgreSQLDB("Mtcg", "mtcg");
            Server         s  = new Server(db);

            Assert.NotNull(s.CheckAuthorization(rc));
        }
Beispiel #5
0
        /// <summary>
        /// SelectSQL発行サンプル:Postgres
        /// </summary>
        /// <returns>ユーザー名</returns>
        private static string selectSqlByPostgres()
        {
            // 接続文字列作成
            var connectionString = string.Format("Server={0};Port=5432;User Id={1};Password={2};Database={3}",
                                                 "localhost", "test", "test", "test");

            // SQL実行
            using (var db = new PostgreSQLDB(connectionString))
            {
                return(getUserName(db));
            }
        }
Beispiel #6
0
        public void TestCreateTrade()
        {
            User      user  = new User(Guid.NewGuid(), "User1", "test");
            Card      c1    = new Card(Guid.NewGuid(), Element.Fire, "FireElf", 10);
            Trade     trade = new Trade(user, Guid.NewGuid(), c1, Cardtype.Spell, 1000);
            IDatabase db    = new PostgreSQLDB("Mtcg", "mtcg");

            Assert.IsTrue(db.CreateTrade(trade));

            Trade trade2 = db.ReadTrades().Where(v => v.id == trade.id).FirstOrDefault();

            Assert.AreEqual(trade.id, trade2.id);
        }
Beispiel #7
0
        public void TestLogin()
        {
            User      user = new User(Guid.NewGuid(), "testuser", "user");
            IDatabase db   = new PostgreSQLDB("Mtcg", "mtcg");

            Assert.IsTrue(db.CreatePlayer(user));

            Server s = new Server(db);

            Server.UserDes us = new Server.UserDes();
            us.Username = "******";
            us.Password = "******";
            Assert.IsTrue(s.Login(us));
        }
Beispiel #8
0
        public void TestCreateStack()
        {
            User        user  = new User(Guid.NewGuid(), "User1", "test");
            List <Card> stack = new List <Card>();

            user.Stack = stack;
            IDatabase db = new PostgreSQLDB("Mtcg", "mtcg");

            Assert.IsTrue(db.CreateStack(user));
            List <Card> stack2 = db.ReadStack(user.ID);

            Assert.IsNotNull(stack2);
            Assert.AreEqual(stack2, user.Stack);
        }
Beispiel #9
0
        public void TestCreateDeck()
        {
            User        user = new User(Guid.NewGuid(), "User1", "test");
            Card        c1   = new Card(Guid.NewGuid(), Element.Fire, "FireElf", 10);
            Card        c2   = new Card(Guid.NewGuid(), Element.Water, "Goblin", 20);
            Card        c3   = new Card(Guid.NewGuid(), Element.Normal, "Ork", 100);
            Card        c4   = new Card(Guid.NewGuid(), Element.Fire, "Dragon", 10);
            List <Card> deck = new List <Card>();

            user.Deck = deck;
            IDatabase db = new PostgreSQLDB("Mtcg", "mtcg");

            Assert.IsTrue(db.CreateDeck(user));

            List <Card> deck2 = db.ReadDeck(user.ID);

            Assert.IsNotNull(deck2);
            Assert.AreEqual(deck2, user.Deck);
        }
Beispiel #10
0
        public void TestCreatePackage()
        {
            Card    c1      = new Card(Guid.NewGuid(), Element.Fire, "FireElf", 10);
            Card    c2      = new Card(Guid.NewGuid(), Element.Water, "Goblin", 20);
            Card    c3      = new Card(Guid.NewGuid(), Element.Normal, "Ork", 100);
            Card    c4      = new Card(Guid.NewGuid(), Element.Fire, "Dragon", 10);
            Card    c5      = new Card(Guid.NewGuid(), Element.Normal, "Ork", 100);
            Package package = new Package(Guid.NewGuid(), new List <Card>()
            {
                c1, c2, c3, c4, c5
            });
            IDatabase db = new PostgreSQLDB("Mtcg", "mtcg");

            Assert.IsTrue(db.CreatePackage(package));

            Package pack = db.ReadPackages().Where(v => v.id == package.id).FirstOrDefault();

            Assert.AreEqual(package.id, pack.id);
        }
        /// <summary>
        /// DBインスタンス取得
        /// </summary>
        /// <returns>IDatabasインスタンス</returns>
        public static IDatabase Create(DatabaseConfigModel config)
        {
            IDatabase result = null;

            // DB種類で作成するインスタンスを変える
            switch (config.Type.ToLower())
            {
            case "sqlite":
                result = new SQLiteDB(config.connectionString);
                break;

            case "postgres":
                result = new PostgreSQLDB(config.connectionString);
                break;

            default:
                result = new SQLiteDB(config.connectionString);
                break;
            }

            return(result);
        }