def test_user_function(self): config_wrapper = loc_utils.use_test_configuration() econ_platform_core.PlatformConfiguration = config_wrapper econ_platform_core.init_package() User_provider = econ_platform_core.Providers.UserProvider User_provider.FunctionMapper['testfn'] = user_function ser = econ_platform_core.fetch('U@testfn(0)', database='TEXT') self.assertEqual(ser.values, [0])
def test_create(self): loc_utils.use_test_configuration() obj = database_sqlite3.DatabaseSqlite3() meta = obj.Find('TEST@test_create_1') if meta.Exists: obj.Delete(meta, warn_if_non_existent=False) meta.ProviderMetadata = {'KEY': 'VALUE', 'KEY2': 1} obj.CreateSeries(meta) meta2 = obj.Find('TEST@test_create_1') self.assertTrue(meta2.Exists) cmd = """ SELECT provider_param_string FROM {0} WHERE ticker_full = ?""".format( obj.TableMeta) obj.Execute(cmd, 'TEST@test_create_1', commit_after=False) res = obj.Cursor.fetchall() self.assertIn('|KEY=VALUE|', res[0][0]) self.assertIn('|KEY2=1|', res[0][0])
def test_write(self): # Note that there is a lot going under the hood here... loc_utils.use_test_configuration() # In order to be unique, get time as a number of seconds. targ = time.time() ddate = datetime.date.today() ser = pandas.Series(targ) ser.index = pandas.Series(ddate) obj = database_sqlite3.DatabaseSqlite3() meta = obj.Find('TEST@test_write_1') meta.series_name = 'Test series test_write_1' meta.series_description = 'Series to support test test_write()' obj.Write(ser, meta) ser2 = obj.Retrieve(meta) # Note: the date class is changed! self.assertEqual(ser2.index[0].year, ser.index[0].year) self.assertEqual(ser2.index[0].month, ser.index[0].month) self.assertEqual(ser2.index[0].day, ser.index[0].day) self.assertEqual(ser2.values[0], ser.values[0]) self.assertEqual(1, len(ser2.values))
def test_fetch(self): config_wrapper = loc_utils.use_test_configuration() econ_platform_core.PlatformConfiguration = config_wrapper econ_platform_core.init_package() loc_utils.delete_data_file('TEST_TEST1.txt') ser = econ_platform_core.fetch('TEST@TEST1', database='TEXT') targ = get_test_series('TEST1') self.assertTrue(targ.equals(ser)) self.assertTrue( os.path.exists( os.path.join(os.path.dirname(__file__), 'data', 'TEST_TEST1.txt'))) # fetch again, will be from file. ser = econ_platform_core.fetch('TEST@TEST1', database='TEXT') self.assertTrue(targ.equals(ser))
def setUp(self) -> None: loc_utils.use_test_configuration()