コード例 #1
0
 def get_data():
     """
     Return some ParameterData
     """
     from aiida.orm import DataFactory
     data = DataFactory('parameter')(dict={'data': 'test'})
     data.store()
     return data
コード例 #2
0
ファイル: test_fixtures.py プロジェクト: zooks97/aiida_core
    def test_create_use_destroy_profile(self):
        """
        Test temporary test profile creation

        * The profile gets created, the dbenv loaded
        * Data can be stored in the db
        * reset_db deletes all data added after profile creation
        * destroy_all removes all traces of the test run
        """
        from aiida.common import setup as aiida_cfg
        from aiida import is_dbenv_loaded
        with Capturing() as output:
            self.fixture_manager.create_profile()
        self.assertTrue(self.fixture_manager.root_dir_ok, msg=output)
        self.assertTrue(self.fixture_manager.config_dir_ok, msg=output)
        self.assertTrue(self.fixture_manager.repo_ok, msg=output)
        self.assertEqual(aiida_cfg.AIIDA_CONFIG_FOLDER,
                         self.fixture_manager.config_dir,
                         msg=output)
        self.assertTrue(is_dbenv_loaded())

        from aiida.orm import DataFactory, load_node
        data = DataFactory('parameter')(dict={'key': 'value'})
        data.store()
        data_pk = data.pk
        self.assertTrue(load_node(data_pk))

        with self.assertRaises(FixtureError):
            self.test_create_aiida_db()

        self.fixture_manager.reset_db()
        with self.assertRaises(Exception):
            load_node(data_pk)

        temp_dir = self.fixture_manager.root_dir
        self.fixture_manager.destroy_all()
        with self.assertRaises(Exception):
            self.fixture_manager.postgres.db_exists(
                self.fixture_manager.db_name)
        self.assertFalse(os.path.exists(temp_dir))
        self.assertIsNone(self.fixture_manager.root_dir)
        self.assertIsNone(self.fixture_manager.pg_cluster)