def test_payment_request_types(self):

        parser = reader()
        returned = parser.parse("""CREATE TABLE `payment_request_types` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `slug` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `order_by` INT(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  KEY `order_by_payment_request_types` (`order_by`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO payment_request_types (id,name,slug,order_by) VALUES (1,'Standard','standard',1),(2,'Special Circumstances','emergency',2);"""
                                )

        # we should have matched
        self.assertTrue(parser.matched)

        # and we should have matched everything
        self.assertEquals('', returned)

        # we should not have any errors
        self.assertEquals([], parser.errors)
Exemple #2
0
    def test_simple(self):
        parser = reader()
        returned = parser.parse(
            """
            CREATE TABLE `logs` (
                `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
                `message` TEXT NOT NULL,
                `traceback` VARCHAR(255) NOT NULL DEFAULT '',
                KEY `logs_message` (`message`),
                INDEX `logs_traceback` (`traceback`),
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
        """
        )

        # we should have matched
        self.assertTrue(parser.matched)
        self.assertEquals('', returned)
        self.assertTrue('logs' in parser.tables)

        self.assertTrue('logs_message' in parser.tables['logs'].indexes)
        self.assertTrue('logs_traceback' in parser.tables['logs'].indexes)
        self.assertEquals(['message'], parser.tables['logs'].indexes['logs_message'].columns)
        self.assertEquals(['traceback'], parser.tables['logs'].indexes['logs_traceback'].columns)
Exemple #3
0
    def test_simple(self):

        parser = reader()
        returned = parser.parse("""
            /* I should find and ignore comments */
            -- Of any variety
               # really

            CREATE TABLE `logs` (
                `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
                `message` TEXT NOT NULL,
                `traceback` text,
                PRIMARY KEY (`id`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

            INSERT INTO logs (`id`,`message`,`traceback`) VALUES (1,'blah','gah');
            INSERT INTO test (id,status) VALUES (1,'New'),(2,'Old');
        """)

        # we should have matched
        self.assertTrue(parser.matched)

        # and we should have matched everything
        self.assertEquals('', returned)

        # our parser should have a table!
        self.assertTrue('logs' in parser.tables)
        # just check a few details
        self.assertEquals('logs', parser.tables['logs'].name)
        self.assertEquals(3, len(parser.tables['logs'].columns))

        # and some records!
        self.assertTrue('logs' in parser.rows)
        self.assertTrue('test' in parser.rows)
        self.assertEquals(['id', 'message', 'traceback'],
                          parser.rows['logs'][0].columns)