Source code for aiida_crystal17.tests.test_cmndline.test_cmnds

import os
from textwrap import dedent

from click.testing import CliRunner
from aiida_crystal17.cmndline.symmetry import symmetry
from aiida_crystal17.cmndline.basis_set import basisset
from aiida_crystal17.tests import TEST_FILES


[docs]def test_symmetry_show(db_test_app): from aiida.plugins import DataFactory node_cls = DataFactory('crystal17.symmetry') symmdata = { "operations": [[1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0]], "hall_number": 1, "basis": "fractional" } node = node_cls(data=symmdata) node.store() runner = CliRunner() result = runner.invoke(symmetry, ['show', str(node.pk)]) assert result.exit_code == 0 expected = dedent("""\ basis: fractional hall_number: 1 num_symops: 1 """) print(result.output) assert expected == str(result.output) result2 = runner.invoke(symmetry, ['show', "-s", str(node.pk)]) assert result2.exit_code == 0
[docs]def test_basis_show(db_test_app): from aiida.plugins import DataFactory basis_cls = DataFactory('crystal17.basisset') node, created = basis_cls.get_or_create( os.path.join(TEST_FILES, "basis_sets", "sto3g", 'sto3g_O.basis')) runner = CliRunner() result = runner.invoke(basisset, ['show', str(node.pk)]) assert result.exit_code == 0 expected = """\ atomic_number: 8 author: John Smith basis_type: all-electron class: sto3g element: O filename: sto3g_O.basis md5: 73a9c7315dc6edf6ab8bd4427a66f31c num_shells: 2 year: 1999 """ assert dedent(expected) == str(result.output) result2 = runner.invoke(basisset, ['show', '-c', str(node.pk)]) assert result2.exit_code == 0
[docs]def test_basis_upload(db_test_app): path = os.path.join(TEST_FILES, "basis_sets", "sto3g") runner = CliRunner() result = runner.invoke(basisset, [ 'uploadfamily', '--path', path, '--name', 'sto3g', '--description', 'STO3G' ]) print(result.output) assert result.exit_code == 0 result2 = runner.invoke(basisset, ['listfamilies', '-d']) print(result2.output) assert result2.exit_code == 0 assert 'sto3g' in result2.output