def test_insert_encoded_by_file(self):
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("False") + "\n")
        append_text_to_file(self.filename,
                            "decode_flag:" + b64encode("True") + "\n")
        append_text_to_file(
            self.filename, "columns:" +
            "$$".join([b64encode(field) for field in self.columns]) + "\n")

        put_2darray_in_file(self.filename,
                            self.row,
                            suffix="rows:",
                            encoding="base64")
        DatabaseInsertRows.insert_by_file(self.filename,
                                          runtime_path=self.runtime_path)
        database = Database(
            self.runtime_path + "\\" + self.database_name + ".sqlite", True)

        with database:
            _, result, _ = tbl_rows_get(database, self.table_name)

        self.assertEqual(DatabaseBase._decode_2darray(result), self.row)
    def test_(self):
        append_text_to_file(
            self.filename, "columns:" +
            "$$".join([b64encode(field) for field in self.columns]) + "\n")
        rows = get_2darray_from_file(path.join(TESTDIR, "testdata.csv"))
        put_2darray_in_file(self.filename,
                            rows,
                            suffix="rows:",
                            encoding="base64")

        DatabaseInsertRows.insert_by_file(self.filename)

        database = Database(self.database_name, True)
        with database:
            columns, rows, _ = tbl_query(
                database,
                "select Description from foobar where LastName = \"" +
                b64encode("Osborn") + "\"")

        expected_results = [
            b64encode(
                "dictum mi, ac mattis velit justo nec ante. Maecenas mi felis, adipiscing fringilla, porttitor vulputate, posuere vulputate, lacus. Cras interdum. Nunc sollicitudin commodo ipsum. Suspendisse non leo. Vivamus nibh dolor, nonummy ac, feugiat non, lobortis quis, pede. Suspendisse dui. Fusce diam nunc, ullamcorper eu, euismod ac, fermentum vel, mauris. Integer sem elit, pharetra ut, pharetra sed, hendrerit a, arcu. Sed et"
            )
        ]
        self.assertListEqual(rows[0], expected_results)
    def test_get_table_list(self):
        os_file_delete(self.filename)
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("True") + "\n")

        self.assertEquals(DatabaseMisc.get_table_list_by_file(self.filename),
                          [u'foobar'])
示例#4
0
 def setUp(self):
     super(Test_GitCommit,self).setUp()
     self.filename = "uupyshell.txt"
     self.encoding = "uu"
     self.user = GitBase._get_user(self.github)
     self.repo = GitRepoHelper._create_repo(self.user,self.reponame,auto_init=True)        
     
     self.runtime_path = "C:\\Users\\burtnolej"
     append_text_to_file(self.filename,"token:"+encode(self.token,self.encoding) + "\n")
     append_text_to_file(self.filename,"reponame:"+encode(self.reponame,self.encoding) + "\n")
     append_text_to_file(self.filename,"gitrootpath:"+encode(self.gitrootpath,self.encoding) + "\n")
     append_text_to_file(self.filename,"commit_message:"+encode(self.commit_message,self.encoding) + "\n")
     append_text_to_file(self.filename,"commit_files:"+"$$".join([encode(_file,self.encoding) for _file in self.commit_files]) + "\n")
    def test_create_by_file_encoded_an_set_runtime_path(self):
        self.filename = "b64pyshell.txt"
        runtime_path = "C:\\Users\\burtnolej"
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("False") + "\n")

        append_text_to_file(
            self.filename, "column_defns:" + "$$".join([
                b64encode(_name) + "^" + b64encode(_type)
                for _name, _type in self.column_defn
            ]) + "\n")
        DatabaseCreateTable.create_by_file(self.filename,
                                           runtime_path=runtime_path)

        database = Database(
            runtime_path + "\\" + self.database_name + ".sqlite", True)

        with database:
            self.assertTrue(tbl_exists(database, self.table_name))

        os_file_delete(self.filename)
    def test_insert_by_file_encoded(self):
        # encoding of input / output files
        # encoding of database content

        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("False") + "\n")
        #append_text_to_file(self.filename,"decode_flag:"+b64encode("False") + "\n")
        append_text_to_file(
            self.filename, "columns:" +
            "$$".join([b64encode(field) for field in self.columns]) + "\n")

        put_2darray_in_file(self.filename,
                            self.row,
                            suffix="rows:",
                            encoding="base64")

        DatabaseInsertRows.insert_by_file(self.filename)

        database = Database(self.database_name, True)
        with database:
            _, result, _ = tbl_rows_get(database, self.table_name)

        self.assertEqual(DatabaseBase._decode_2darray(result), self.row)
        os_file_delete(self.filename)
    def setUp(self):
        self.database_name = 'foobar'
        self.table_name = 'foobar'
        self.column_defn = [('FirstName', 'text'), ('LastName', 'text'),
                            ('Country', 'text'), ('Description', 'text'),
                            ('Age', 'integer')]
        self.columns = [
            'FirstName', 'LastName', 'Country', 'Description', 'Age'
        ]

        self.filename = "b64pyshell.txt"

        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("False") + "\n")
        append_text_to_file(
            self.filename, "column_defns:" + "$$".join([
                b64encode(_name) + "^" + b64encode(_type)
                for _name, _type in self.column_defn
            ]) + "\n")

        DatabaseCreateTable.create_by_file(self.filename)
    def test_(self):

        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "sp_name:" + encode("student_schedule", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "header_flag:" + encode("True", self.encoding) + "\n")
        append_text_to_file(
            self.filename, "sp_args:" + encode(
                "<root><students>70</students><days>M</days><periods>1</periods></root>",
                self.encoding) + "\n")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)
        self.assertEqual(result, [[
            'sSubjectLongDesc', 'sCourseNm', 'sClassFocusArea',
            'sFacultyFirstNm', 'cdDay', 'idTimePeriod', 'idLocation',
            'idSection', 'cdClassType', 'iFreq', 'idClassLecture'
        ],
                                  [
                                      u'Homeroom', u'Homeroom', None, u'Isaac',
                                      u'M', 1, 9, 165, u'Seminar', 5, 993
                                  ]])

        self.assertTrue(os_file_exists(self.result_filename))
        self.assertEqual(
            "sSubjectLongDesc^sCourseNm^sClassFocusArea^sFacultyFirstNm^cdDay^idTimePeriod^idLocation^idSection^cdClassType^iFreq^idClassLecture$$Homeroom^Homeroom^None^Isaac^M^1^9^165^Seminar^5^993",
            os_file_to_string(self.result_filename))
示例#9
0
 def setUp(self):
     super(Test_GitMultiUpdateRefs, self).setUp()
     self.filename = environ["MYHOME"] + "\\testpygithub\\git_test.txt"
     write_text_to_file(self.filename, "this is a test")
     self.parents = [GitCommitHelper._get_last_commit(self.repo)]
     self.base_tree = self.parents[0]._tree.value
     self.tree = GitCommitHelper._create_input_tree(
         self.filename, self.repo, base_tree=self.base_tree)
     self.git_commit = GitCommitHelper._create_commit(
         self.repo, "commit via pyyhon api", self.tree, self.parents)
     self.headref = GitCommitHelper._get_ref(self.repo)
     self.headref.edit(self.git_commit.sha)
     append_text_to_file(self.filename, "amendment")
     self.parents = [GitCommitHelper._get_last_commit(self.repo)]
     self.base_tree = self.parents[0]._tree.value
     self.tree = GitCommitHelper._create_input_tree(
         self.filename, self.repo, base_tree=self.base_tree)
     self.git_commit = GitCommitHelper._create_commit(
         self.repo, "commit via pyyhon api", self.tree, self.parents)
     self.headref = GitCommitHelper._get_ref(self.repo)
    def setUp(self):
        self.filename = "uupyshell.txt"
        self.result_filename = environ["MYHOME"] + "\\pyshell_result.txt"
        self.datasp = DataStoredProc(path.join(TESTDIR, TESTDBNAME))
        self.encoding = "uu"
        self.columns = [
            "idStudent", "sStudentFirstNm", "sStudentLastNm", "idPrep",
            "iGradeLevel"
        ]
        self.column_defn = [('col1', 'text'), ('col2', 'text'),
                            ('col3', 'integer')]
        self.rows = [[666, 'foo', 'bar', 2, 6], [667, 'blah', 'blah', 3, 6]]
        self.row = ['idPrep', 3, 'idStudent', 666]

        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")

        append_text_to_file(
            self.filename,
            "sp_name:" + encode("insert_student", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "columns:" + "$$".join([field for field in self.columns]) + "\n")

        put_2darray_in_file(self.filename, self.rows, suffix="rows:")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)
        DataStoredProc.sp_args = {}
    def test_(self):
        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "sp_name:" + encode("student_schedule", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename, "sp_args:" + encode(
                "<root><students>70</students><days>M</days><periods>1</periods></root>",
                self.encoding) + "\n")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)
        self.assertEqual(result, [[
            u'Homeroom', u'Homeroom', None, u'Isaac', u'M', 1, 9, 165,
            u'Seminar', 5, 993
        ]])

        self.assertTrue(os_file_exists(self.result_filename))
        self.assertEqual(
            "Homeroom^Homeroom^None^Isaac^M^1^9^165^Seminar^5^993",
            os_file_to_string(self.result_filename))
    def test_(self):

        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "sp_name:" + encode("student_schedule", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename, "sp_args:" + encode(
                "<root><students>70</students><students>69</students><days>M</days><days>T</days><periods>1</periods><periods>2</periods></root>",
                self.encoding) + "\n")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)

        expected_results = [[
            u'Homeroom', u'Homeroom', None, u'Samantha', u'M', 1, 10, 163,
            u'Seminar', 5, 983
        ],
                            [
                                u'Homeroom', u'Homeroom', None, u'Isaac', u'M',
                                1, 9, 165, u'Seminar', 5, 993
                            ],
                            [
                                u'Movement', u'Movement', None, u'Michael',
                                u'M', 2, 37, 432, u'Seminar', 1, 1196
                            ],
                            [
                                u'Science', u'Science', None, u'John', u'M', 2,
                                4, 162, u'1on1', 1, 143
                            ],
                            [
                                u'Homeroom', u'Homeroom', None, u'Samantha',
                                u'T', 1, 10, 163, u'Seminar', 5, 984
                            ],
                            [
                                u'Homeroom', u'Homeroom', None, u'Isaac', u'T',
                                1, 9, 165, u'Seminar', 5, 994
                            ],
                            [
                                u'Foreign Language', u'Spanish 1', None,
                                u'Jamie', u'T', 2, 6, 451, u'Seminar', 2, 1218
                            ],
                            [
                                u'Work Period', u'Work Period', None,
                                u'Alyssa', u'T', 2, 37, 564, u'Seminar', 1, 713
                            ]]

        self.assertEqual(result, expected_results)

        self.assertTrue(os_file_exists(self.result_filename))
        self.assertEqual(
            os_file_to_string(self.result_filename),
            "Homeroom^Homeroom^None^Samantha^M^1^10^163^Seminar^5^983$$Homeroom^Homeroom^None^Isaac^M^1^9^165^Seminar^5^993$$Movement^Movement^None^Michael^M^2^37^432^Seminar^1^1196$$Science^Science^None^John^M^2^4^162^1on1^1^143$$Homeroom^Homeroom^None^Samantha^T^1^10^163^Seminar^5^984$$Homeroom^Homeroom^None^Isaac^T^1^9^165^Seminar^5^994$$Foreign Language^Spanish 1^None^Jamie^T^2^6^451^Seminar^2^1218$$Work Period^Work Period^None^Alyssa^T^2^37^564^Seminar^1^713"
        )
示例#13
0
 def setUp(self):
     super(Test_GitCreateRepo,self).setUp()
     self.filename = "uupyshell.txt"
     self.encoding = "uu"
     write_text_to_file(self.filename,"token:"+encode(self.token,self.encoding) + "\n")
     append_text_to_file(self.filename,"reponame:"+encode(self.reponame,self.encoding) + "\n")
     append_text_to_file(self.filename,"username:"******"\n")
     append_text_to_file(self.filename,"gitrootpath:"+encode(self.gitrootpath,self.encoding) + "\n")
示例#14
0
    def test_(self):

        # commit 1
        gitcommit = GitCommitHelper.commit(self.token, self.reponame,
                                           self.filenames, self.message)

        # commit 2
        append_text_to_file(environ["MYHOME"] + "\\testpygithub\\git_test.txt",
                            "foo")
        append_text_to_file(
            environ["MYHOME"] + "\\testpygithub\\git_test2.txt", "bar")
        gitcommit = GitCommitHelper.commit(self.token, self.reponame,
                                           self.filenames, self.message)

        # commit 3
        self.filenames = [environ["MYHOME"] + "\\testpygithub\\git_test4.txt"]
        gitcommit = GitCommitHelper.commit(self.token, self.reponame,
                                           self.filenames, self.message)

        files = GitRepoHelper._get_files(self.repo)
        self.assertEqual(files, [
            environ["MYHOME"] + '\\testpygithub\\git_test.txt',
            environ["MYHOME"] + '\\testpygithub\\git_test2.txt',
            environ["MYHOME"] + '\\testpygithub\\git_test3.txt',
            environ["MYHOME"] + '\\testpygithub\\git_test4.txt', u'README.md'
        ])

        gitrepo = GitRepoHelper.history(self.token, self.reponame)
        self.assertEquals(gitrepo.commit_history[0][0]['content'],
                          'this is a testfoo')
        self.assertEquals(gitrepo.commit_history[0][1]['content'],
                          'this is a test2bar')
        self.assertEquals(gitrepo.commit_history[0][2]['content'],
                          'this is a test2')
        self.assertEquals(gitrepo.commit_history[0][3]['content'],
                          'this is a test4')
    def test_create_by_file(self):

        append_text_to_file(self.filename,
                            "database_name:" + self.database_name + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + self.table_name + "\n")
        append_text_to_file(self.filename, "delete_flag:False" + "\n")
        append_text_to_file(
            self.filename, "column_defns:" + "$$".join(
                [_name + "^" + _type
                 for _name, _type in self.column_defn]) + "\n")
        DatabaseCreateTable.create_by_file(self.filename)

        database = Database(self.database_name, True)
        with database:
            self.assertTrue(tbl_exists(database, self.table_name))

        os_file_delete(self.filename)
 def test_query_by_file(self):
     self.filename = "unipyshell.txt"
     append_text_to_file(self.filename,
                         "database_name:" + self.database_name + "\n")
     append_text_to_file(
         self.filename, "qry_str:" + "select col1,col2,col3 from " +
         self.table_name + "\n")
     append_text_to_file(self.filename, "delete_flag:True" + "\n")
     result = DatabaseQueryTable.query_by_file(self.filename)
     self.assertEquals(result, self.row)
     os_file_delete(self.filename)
    def test_fail_database(self):
        os_file_delete(self.filename)
        append_text_to_file(self.filename,
                            "database_name:" + b64encode("foofoo") + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("True") + "\n")

        self.assertFalse(DatabaseMisc.database_exists_by_file(self.filename))
        os_file_delete(self.database_name + ".sqlite")
    def test_(self):
        os_file_delete(self.filename)
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("True") + "\n")

        self.assertTrue(DatabaseMisc.table_exists_by_file(self.filename))
 def test_query_by_file_encoded(self):
     append_text_to_file(
         self.filename,
         "database_name:" + b64encode(self.database_name) + "\n")
     append_text_to_file(
         self.filename, "qry_str:" +
         b64encode("select col1,col2,col3 from " + self.table_name) + "\n")
     append_text_to_file(self.filename,
                         "delete_flag:" + b64encode("True") + "\n")
     result = DatabaseQueryTable.query_by_file(self.filename)
     self.assertEquals(self.row, DatabaseBase._decode_2darray(result))
     os_file_delete(self.filename)
    def test_create_by_file_encoded(self):
        self.filename = "b64pyshell.txt"
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("False") + "\n")
        append_text_to_file(
            self.filename, "column_defns:" + "$$".join([
                b64encode(_name) + "^" + b64encode(_type)
                for _name, _type in self.column_defn
            ]) + "\n")
        DatabaseCreateTable.create_by_file(self.filename)

        database = Database(self.database_name, True)
        with database:
            self.assertTrue(tbl_exists(database, self.table_name))

        os_file_delete(self.filename)
    def test_get_columns(self):
        os_file_delete(self.filename)
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("True") + "\n")

        self.assertEquals(DatabaseMisc.get_table_info_by_file(self.filename),
                          [(u'FirstName', u'text'), (u'LastName', u'text'),
                           (u'Country', u'text'), (u'Description', u'text'),
                           (u'Age', u'integer')])
    def test_query_encoded_by_file(self):
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(
            self.filename, "qry_str:" +
            b64encode("select col1,col2,col3 from " + self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("True") + "\n")
        result = DatabaseQueryTable.query_by_file(
            self.filename, result_file=self.result_filename)

        self.assertEqual(
            "eA==^eQ==^Ng==",
            os_file_to_string(self.result_filename).split("\n")[0])
    def test_insert_by_file(self):
        # no encoding of input / output files
        # no encoding of database content
        self.filename = "unipyshell.txt"
        append_text_to_file(self.filename,
                            "database_name:" + self.database_name + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + self.table_name + "\n")
        append_text_to_file(self.filename, "delete_flag:False" + "\n")
        append_text_to_file(
            self.filename,
            "columns:" + "$$".join([field for field in self.columns]) + "\n")

        put_2darray_in_file(self.filename, self.row, suffix="rows:")

        DatabaseInsertRows.insert_by_file(self.filename)

        database = Database(self.database_name, True)
        with database:
            _, result, _ = tbl_rows_get(database, self.table_name)

        self.assertEqual(result, self.row)
        os_file_delete(self.filename)
    def tearDown(self):
        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")

        append_text_to_file(
            self.filename,
            "sp_name:" + encode("delete_student", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename, "sp_args:" + encode(
                "<root><students>666</students><students>667</students></root>",
                self.encoding) + "\n")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)
        os_file_delete(self.filename)
 def test_(self):
     append_text_to_file(self.filename,
                         "delete_flag:" + b64encode("True") + "\n")
     result = DatabaseQueryTable.query_by_file(
         self.filename, runtime_path=self.runtime_path)
     self.assertEqual(DatabaseBase._decode_2darray(result), self.row)
    def test_set_runtimepath(self):

        rows = get_2darray_from_file(path.join(TESTDIR, "testdata_2rows.csv"))

        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("False") + "\n")
        append_text_to_file(self.filename,
                            "decode_flag:" + b64encode("True") + "\n")
        append_text_to_file(
            self.filename, "columns:" +
            "$$".join([b64encode(field) for field in self.columns]) + "\n")
        append_text_to_file(
            self.filename, "column_defns:" + "$$".join([
                b64encode(_name) + "^" + b64encode(_type)
                for _name, _type in self.column_defn
            ]) + "\n")

        put_2darray_in_file(self.filename,
                            rows,
                            suffix="rows:",
                            encoding="base64")

        clsobj = DatabaseBase._parse_input_file(
            self.filename,
            mandatory_fields=[
                'database_name', 'table_name', 'delete_flag', 'decode_flag',
                'columns', 'column_defns'
            ],
            encoding="base64",
            runtime_path="C:\Users\burtnolej")
        self.assertEqual(clsobj.runtime_path, "C:\Users\burtnolej")

        self.assertEqual(clsobj.database_name, self.database_name)
    def test_(self):
        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")

        append_text_to_file(
            self.filename,
            "sp_name:" + encode("update_student", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "row:" + "$$".join([str(field) for field in self.row]) + "\n")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)
        DataStoredProc.sp_args = {}

        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "sp_name:" + encode("student", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename, "sp_args:" +
            encode("<root><students>666</students></root>", self.encoding) +
            "\n")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)

        self.assertEqual(result, [[u'foo', u'bar', 666, 3, u'Aurora']])
    def test_(self):
        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")

        append_text_to_file(
            self.filename,
            "sp_name:" + encode("insert_student", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "header_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "columns:" + "$$".join([field for field in self.columns]) + "\n")

        put_2darray_in_file(self.filename, self.row, suffix="rows:")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)

        DataStoredProc.sp_args = {}

        write_text_to_file(
            self.filename, "database_name:" +
            encode(path.join(TESTDIR, TESTDBNAME), self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "sp_name:" + encode("student", self.encoding) + "\n")
        append_text_to_file(
            self.filename,
            "delete_flag:" + encode("False", self.encoding) + "\n")
        append_text_to_file(
            self.filename, "sp_args:" +
            encode("<root><students>667</students></root>", self.encoding) +
            "\n")

        result = DataStoredProc.stored_proc_by_file(
            self.filename, result_file=self.result_filename)

        self.assertEqual(result, [[u'blah', u'blah', 667, 3, u'Aurora']])
    def setUp(self):
        self.database_name = 'foobar'
        self.table_name = 'foobar'
        self.columns = ['col1', 'col2', 'col3']
        self.column_defn = [('col1', 'text'), ('col2', 'text'),
                            ('col3', 'integer')]
        self.row = [['x', 'y', 6]]
        self.qrow = _quotestrs(self.row)
        self.filename = "b64pyshell.txt"
        self.b64row = DatabaseBase._encode_2darray(self.row)

        self.runtime_path = "C:\\Users\\burtnolej"
        append_text_to_file(
            self.filename,
            "database_name:" + b64encode(self.database_name) + "\n")
        append_text_to_file(self.filename,
                            "table_name:" + b64encode(self.table_name) + "\n")
        append_text_to_file(self.filename,
                            "delete_flag:" + b64encode("False") + "\n")
        append_text_to_file(
            self.filename, "columns:" +
            "$$".join([b64encode(field) for field in self.columns]) + "\n")
        append_text_to_file(
            self.filename, "column_defns:" + "$$".join([
                b64encode(_name) + "^" + b64encode(_type)
                for _name, _type in self.column_defn
            ]) + "\n")
        append_text_to_file(
            self.filename, "qry_str:" +
            b64encode("select col1,col2,col3 from " + self.table_name) + "\n")

        put_2darray_in_file(self.filename, self.b64row, suffix="rows:")
        DatabaseCreateTable.create_by_file(self.filename,
                                           runtime_path=self.runtime_path)
        DatabaseInsertRows.insert_by_file(self.filename,
                                          runtime_path=self.runtime_path)