コード例 #1
0
    def test_run_not_enough_conns_in_scope(self):
        # Arrange
        conn_scope = {'conn_a': self.conn1} # We give too few connections
        reinterpreter = Reinterpreter(program=self.program,
                                      conn_scope=conn_scope,
                                      program_is_path=False)

        # Act/Assert
        with self.assertRaises(StopIteration):
            scope = reinterpreter.run() # Should throw an StopIteration exception
コード例 #2
0
# datasources i vores pygrametl program. Dette dict blive brugt som et scope i
# ens pygrametl program, og gør at vi kan bruge disse, i stedet for hardcodede.
# Værdien af strengen skal bare være noget som man ikke allerede brugere som et
# variable navn i ens pygrametl program.
scope = {'conn_a': conn_dw, 'conn_b': conn_input_1, 'conn_c': conn_input_2}


# Vi giver programmet og scopet til vores reinterpreter. Reinterpreteren vil
# eksekvere vores pygrametl kode, men med pointere til de connections vi gerne
# vil have at den skal bruge.
reint = Reinterpreter(program=program, conn_scope=scope, program_is_path=False)

# Vi kalder run på reinterpreter, dette eksekvere pygrametl koden som vi gerne
# ville have den. Og returnere et dictionary af SQLSource objekter, en får hver
# Dimension eller FactTable instantiering pygrametl koden. Dette gøres for at
# brugeren nu nemt kan give de forskellige tables i deres DW til predicates.
# Dictets keys er navne på tabellerne som indeholde den pågældende dimension/ft
dw_tables = reint.run()

# Vi henter dim1 ud fra dw_tables
dim1 = dw_tables['dim1']

# Vi tester om der er duplikerede tubler i denne tabel
dubpred = DublicatePredicate(dim1)
dubpred.run()





コード例 #3
0
ファイル: brand_example.py プロジェクト: Betaboxguugi/P6
import os.path

BASE_DIR = os.path.dirname(os.path.abspath('__file__'))
DB = os.path.join(BASE_DIR, 'brandtest.db')
DW = os.path.join(BASE_DIR, 'dwtest.db')
CSV = os.path.join(BASE_DIR, 'weapontest.csv')


program_path = './brand_sample.py'

setup_input_db(DB)
setup_out_dw(DW)
# setup_input_csv(CSV)

db_conn = sqlite3.connect(DB)
dw_conn = sqlite3.connect(DW)


#csv_conn = sqlite3.connect(CSV)

conn_dict = {'conn0': db_conn, 'conn1': dw_conn}

try:
    tc = Reinterpreter(program=program_path, conn_scope=conn_dict, program_is_path=True)

    scope = tc.run()
finally:
    db_conn.close()
    dw_conn.close()
    pass
コード例 #4
0
ファイル: example.py プロジェクト: nbeejawa/skiraff
""" An example of how to run a test
"""

__author__ = 'Mathias Claus Jensen'

from reinterpreter import Reinterpreter
import sqlite3

program_path = 'sample_program.py'

conn1 = sqlite3.connect('a.db')
conn2 = sqlite3.connect('b.db')


conn_dict  = {'conn1': conn1, 'conn2': conn2}
    
tc = Reinterpreter(program=program_path, conn_scope=conn_dict, program_is_path=True)
scope = tc.run()


def close():
    conn1.close()
    conn2.close()

globals().update({'close':close})
globals().update(scope)