def setUp(self): base_path= os.path.dirname(os.path.abspath(__file__)) packages_path = os.path.join(base_path, 'packages') self.psybase = test_util.create_psybase(package_directory = [packages_path,]) self.db_project = test_util.create_dbtest_project(self.psybase) self.db_base_dir = self.db_project.base_dir self.db_user = self.db_project.activeUser
def setUp(self): self.psybase = test_util.create_psybase(package_directory=[ self.packages_path, ]) self.db_project = test_util.create_dbtest_project(self.psybase) self.db_base_dir = self.db_project.base_dir self.db_user = self.db_project.activeUser
def test_json_waveclient_deserialization(self): ''' ''' import psysmon.core.waveclient packages_path = os.path.dirname(os.path.abspath(__file__)) packages_path = os.path.join(packages_path, 'waveclient_packages') psybase = test_util.create_psybase(package_directory=[ packages_path, ]) project = test_util.create_dbtest_project(psybase) project.createDatabaseStructure(psybase.packageMgr.packages) # Set the maxDiff attribute to None to enable long output of # non-equal strings tested with assertMultiLineEqual. self.maxDiff = None # Set the createTime of the project to a known value. project.createTime = UTCDateTime('2013-01-01T00:00:00') # Add a waveclient to the project. waveclient = psysmon.core.waveclient.PsysmonDbWaveClient( 'db client', project) project.addWaveClient(waveclient) project.defaultWaveclient = 'db client' encoder = util.ProjectFileEncoder() decoder = util.ProjectFileDecoder() json_project = encoder.encode(project) project_obj = decoder.decode(json_project) # TODO: Test the project_obj for validity. print project_obj.waveclient['db client'].mode psybase.stop_project_server() base_dir = project.base_dir test_util.drop_project_database_tables(project) shutil.rmtree(base_dir)
def test_json_waveclient_serialization(self): ''' ''' import psysmon.core.waveclient packages_path = os.path.dirname(os.path.abspath(__file__)) packages_path = os.path.join(packages_path, 'waveclient_packages') psybase = test_util.create_psybase(package_directory=[ packages_path, ]) project = test_util.create_dbtest_project(psybase) project.createDatabaseStructure(psybase.packageMgr.packages) # Set the maxDiff attribute to None to enable long output of # non-equal strings tested with assertMultiLineEqual. self.maxDiff = None # Set the createTime of the project to a known value. project.createTime = UTCDateTime('2013-01-01T00:00:00') # Add a waveclient to the project. waveclient = psysmon.core.waveclient.PsysmonDbWaveClient( 'db client', project) project.addWaveClient(waveclient) project.defaultWaveclient = 'db client' encoder = util.ProjectFileEncoder() # Test empty project. expected_result = '''{ "__baseclass__": [], "__class__": "Project", "__module__": "psysmon.core.project", "createTime": { "__baseclass__": [ "object" ], "__class__": "UTCDateTime", "__module__": "obspy.core.utcdatetime", "utcdatetime": "2013-01-01T00:00:00" }, "dbDialect": "mysql", "dbDriver": null, "dbHost": "localhost", "dbName": "psysmon_unit_test", "db_version": { "geometry": "0.1.1", "obspyImportWaveform": "0.1.1" }, "defaultWaveclient": "db client", "name": "Unit Test", "pkg_version": { "geometry": "0.1.1", "obspyImportWaveform": "0.1.1" }, "scnlDataSources": {}, "user": [ { "__baseclass__": [], "__class__": "User", "__module__": "psysmon.core.project", "activeCollection": null, "agency_name": "University of Test", "agency_uri": "at.uot", "author_name": "Stefan Test", "author_uri": "stest", "collection": {}, "mode": "admin", "name": "unit_test" } ], "waveclient": { "db client": { "__baseclass__": [ "WaveClient" ], "__class__": "PsysmonDbWaveClient", "__module__": "psysmon.core.waveclient", "name": "db client", "options": {}, "stock_window": 3600 } } }''' try: self.assertMultiLineEqual(encoder.encode(project), expected_result) finally: base_dir = project.base_dir psybase.stop_project_server() test_util.drop_project_database_tables(project) shutil.rmtree(base_dir)