def tearDown(self): self.psybase.stop_project_server() test_util.drop_project_database_tables(self.db_project) shutil.rmtree(self.db_base_dir) del self.db_user del self.db_project del self.psybase
def tearDownClass(cls): cls.psybase.stop_project_server() print "dropping database tables...\n" drop_project_database_tables(cls.project) print "removing temporary file structure....\n" remove_project_filestructure(cls.project) print "removing temporary base directory....\n" os.removedirs(cls.project.base_dir) print "....finished cleaning up.\n"
def test_create_project(self): ''' Test the creation of a new project. ''' name = 'psy_unit_test' base_dir = self.base_dir db_host = 'localhost' user_name = 'unit_test' user_pwd = 'test' author_name = 'Stefan Test' author_uri = 'stest' agency_name = 'University of Test' agency_uri = 'at.uot' self.psybase.createPsysmonProject(name, base_dir, db_host, user_name, user_pwd, author_name, author_uri, agency_name, agency_uri) self.psybase.stop_project_server() test_util.drop_project_database_tables(self.psybase.project) test_util.remove_project_filestructure(self.psybase.project) self.psybase.closePsysmonProject()
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)
def tearDownClass(cls): drop_project_database_tables(cls.project) remove_project_filestructure(cls.project) os.removedirs(cls.project.base_dir)