Module data_request_api.tests.test_config_cli
Functions
def monkeypatch(monkeypatch)
-
Expand source code
@pytest.fixture(scope="function") def monkeypatch(monkeypatch): return monkeypatch
def temp_config_file(tmp_path_factory)
-
Expand source code
@pytest.fixture(scope="function") def temp_config_file(tmp_path_factory): temp_dir = tmp_path_factory.mktemp("data") config_file = temp_dir / ".CMIP7_data_request_api_config" try: yield config_file finally: config_file.unlink(missing_ok=True) dreqcfg.CONFIG = {}
def test_config_file_from_env_var(temp_config_file, monkeypatch)
-
Expand source code
def test_config_file_from_env_var(temp_config_file, monkeypatch): # Set the CMIP7_DR_API_CONFIGFILE environment variable monkeypatch.setenv("CMIP7_DR_API_CONFIGFILE", str(temp_config_file)) # Run your test as usual result = subprocess.run( [ sys.executable, "-m", "data_request_api.command_line.config", "init", ], capture_output=True, text=True, ) assert result.returncode == 0 assert temp_config_file.exists() with open(temp_config_file) as f: config = yaml.safe_load(f) assert config == dreqcfg.DEFAULT_CONFIG
def test_init_config(temp_config_file, monkeypatch)
-
Expand source code
def test_init_config(temp_config_file, monkeypatch): monkeypatch.setattr( "data_request_api.utilities.config.CONFIG_FILE", temp_config_file ) result = subprocess.run( [ sys.executable, "-m", "data_request_api.command_line.config", "init", "--cfgfile", str(temp_config_file), ], capture_output=True, text=True, ) assert result.returncode == 0 assert str(dreqcfg.CONFIG_FILE) != str( Path.home() / "CMIP7_data_request_api_config" ) assert os.path.isfile(dreqcfg.CONFIG_FILE)
def test_init_config_entry_point(temp_config_file, monkeypatch)
-
Expand source code
def test_init_config_entry_point(temp_config_file, monkeypatch): monkeypatch.setattr( "data_request_api.utilities.config.CONFIG_FILE", temp_config_file ) result = subprocess.run( [ "CMIP7_data_request_api_config", "init", "--cfgfile", str(temp_config_file), ], capture_output=True, text=True, ) assert result.returncode == 0 assert str(dreqcfg.CONFIG_FILE) != str( Path.home() / "CMIP7_data_request_api_config" ) assert os.path.isfile(dreqcfg.CONFIG_FILE)
def test_init_config_no_argument(temp_config_file, monkeypatch)
-
Expand source code
def test_init_config_no_argument(temp_config_file, monkeypatch): monkeypatch.setattr( "data_request_api.utilities.config.CONFIG_FILE", temp_config_file ) result = subprocess.run( [ sys.executable, "-m", "data_request_api.command_line.config", "--cfgfile", str(temp_config_file), ], capture_output=True, text=True, ) assert result.returncode == 0 assert str(dreqcfg.CONFIG_FILE) != str( Path.home() / "CMIP7_data_request_api_config" ) assert os.path.isfile(dreqcfg.CONFIG_FILE)
def test_invalid_command(temp_config_file, monkeypatch)
-
Expand source code
def test_invalid_command(temp_config_file, monkeypatch): monkeypatch.setattr( "data_request_api.utilities.config.CONFIG_FILE", temp_config_file ) result = subprocess.run( [ sys.executable, "-m", "data_request_api.command_line.config", "invalid", "--cfgfile", str(temp_config_file), ], capture_output=True, text=True, ) assert result.returncode == 0 assert ( "usage: python -m data_request_api.command_line.config <arguments>" in result.stdout )
def test_invalid_command_entry_point(temp_config_file, monkeypatch)
-
Expand source code
def test_invalid_command_entry_point(temp_config_file, monkeypatch): monkeypatch.setattr( "data_request_api.utilities.config.CONFIG_FILE", temp_config_file ) result = subprocess.run( [ "CMIP7_data_request_api_config", "invalid", "--cfgfile", str(temp_config_file), ], capture_output=True, text=True, ) assert result.returncode == 0 assert "usage: CMIP7_data_request_api_config <arguments>" in result.stdout
def test_reset_config(temp_config_file, monkeypatch)
-
Expand source code
def test_reset_config(temp_config_file, monkeypatch): monkeypatch.setattr( "data_request_api.utilities.config.CONFIG_FILE", temp_config_file ) dreqcfg.update_config("offline", True) dreqcfg.CONFIG = {} # reset to allow reloading below result = subprocess.run( [ sys.executable, "-m", "data_request_api.command_line.config", "reset", "--cfgfile", str(temp_config_file), ], capture_output=True, text=True, ) assert "Updated offline to False" in result.stdout assert result.returncode == 0 config = dreqcfg.load_config() assert config == dreqcfg.DEFAULT_CONFIG
def test_update_config(temp_config_file, monkeypatch)
-
Expand source code
def test_update_config(temp_config_file, monkeypatch): monkeypatch.setattr( "data_request_api.utilities.config.CONFIG_FILE", temp_config_file ) result = subprocess.run( [ sys.executable, "-m", "data_request_api.command_line.config", "offline", "true", "--cfgfile", str(temp_config_file), ], capture_output=True, text=True, ) assert result.returncode == 0 assert "Updated offline to True" in result.stdout config = dreqcfg.load_config() assert config["offline"] is True