コード例 #1
0
ファイル: test_project.py プロジェクト: Luojiahong/psysmon
 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
コード例 #2
0
 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"
コード例 #3
0
ファイル: test_base.py プロジェクト: stefanmaar/psysmon
    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()
コード例 #4
0
    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)
コード例 #5
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)
コード例 #6
0
 def tearDownClass(cls):
     drop_project_database_tables(cls.project)
     remove_project_filestructure(cls.project)
     os.removedirs(cls.project.base_dir)