Пример #1
0
 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
Пример #2
0
 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)
Пример #4
0
    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)