mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-08 15:28:26 +01:00
* machine: Add a new command `dvc machine status` fix#6482 1. add a new command `dvc machien status` 2. add a unit test for the cli call. 3. add a unit test for the shown result. * Update dvc/command/machine.py Co-authored-by: Saugat Pachhai <[email protected]> * Update dvc/command/machine.py Co-authored-by: Saugat Pachhai <[email protected]> * Update machine.py * Remove sensitive fields * Update dvc/machine/__init__.py Co-authored-by: Casper da Costa-Luis <[email protected]> * Update tests/func/machine/__init__.py Co-authored-by: Casper da Costa-Luis <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Use white list to limit shown fields Co-authored-by: Saugat Pachhai <[email protected]> Co-authored-by: Casper da Costa-Luis <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
import json
|
|
|
|
from tpi.terraform import TerraformBackend
|
|
|
|
from dvc.command.machine import CmdMachineStatus
|
|
from dvc.main import main
|
|
|
|
from . import CONFIG_TEXT
|
|
|
|
STATUS = """{
|
|
"aws_security_group": null,
|
|
"cloud": "aws",
|
|
"id": "iterative-2jyhw8j9ieov6",
|
|
"image": "ubuntu-bionic-18.04-amd64-server-20210818",
|
|
"instance_gpu": null,
|
|
"instance_hdd_size": 35,
|
|
"instance_ip": "123.123.123.123",
|
|
"instance_launch_time": "2021-08-25T07:13:03Z",
|
|
"instance_type": "m",
|
|
"name": "test-resource",
|
|
"region": "us-west",
|
|
"spot": false,
|
|
"spot_price": -1,
|
|
"ssh_name": null,
|
|
"ssh_private": "-----BEGIN RSA PRIVATE KEY-----\\n",
|
|
"startup_script": "IyEvYmluL2Jhc2g=",
|
|
"timeouts": null
|
|
}"""
|
|
|
|
|
|
def test_status(tmp_dir, scm, dvc, mocker, capsys):
|
|
(tmp_dir / ".dvc" / "config").write_text(CONFIG_TEXT)
|
|
status = json.loads(STATUS)
|
|
|
|
mocker.patch.object(
|
|
TerraformBackend, "instances", autospec=True, return_value=[status]
|
|
)
|
|
|
|
assert main(["machine", "status", "foo"]) == 0
|
|
cap = capsys.readouterr()
|
|
assert "instance_num_1:" in cap.out
|
|
for key in CmdMachineStatus.SHOWN_FIELD:
|
|
assert f"\t{key:20}: {status[key]}" in cap.out
|