def test_basic_aegea_commands(self):
self.call(["aegea"], expect=[dict(return_codes=[1])])
self.call(["aegea", "--help"])
self.call(["aegea", "--version"])
self.call(["aegea", "pricing"])
self.call(["aegea", "ls", "-w9"])
self.call(["aegea", "ssh", "nonexistent_instance"],
expect=[dict(return_codes=[1, os.EX_SOFTWARE], stderr="AegeaException: Could not resolve")])
instance_id = json.loads(self.call(["aegea", "ls", "--json"]).stdout)[0]["id"]
for subcommand in aegea.parser._actions[-1].choices:
expect = [dict(return_codes=[os.EX_OK]),
dict(return_codes=[1, os.EX_SOFTWARE],
stderr="(UnauthorizedOperation|AccessDenied|DryRunOperation)")]
args = []
if subcommand in ("ssh", "put-alarm", "put_alarm", "batch"):
args += ["--help"]
elif "_" in subcommand:
continue
elif subcommand == "build-docker-image":
args += ["--dry-run", "docker-example"]
elif subcommand == "console":
args += [instance_id]
elif subcommand == "iam":
args += ["users"]
elif subcommand in ("start", "stop", "reboot", "terminate", "rename"):
args += [instance_id, instance_id, "--dry-run"]
elif subcommand == "grep":
args += ["--help"] if USING_PYTHON2 else ["error", "syslog", "--start-time=-2h", "--end-time=-5m"]
expect.append(dict(return_codes=[os.EX_DATAERR]))
elif subcommand in ("launch", "build-ami"):
args += ["--no-verify-ssh-key-pem-file", "--dry-run", "test"]
elif subcommand == "rm":
args += [resolve_ami()]
elif subcommand in ("secrets", "rds", "elb", "flow-logs", "deploy", "zones", "ebs", "buckets", "efs",
"ecr", "lambda"):
args += ["ls"]
elif subcommand == "pricing":
args += ["AmazonEC2", "--json"]
elif subcommand == "billing":
continue # FIXME
args += ["ls", "--min-cost", "0.1"]
if "AWS_BILLING_REPORTS_BUCKET" in os.environ:
args += ["--billing-reports-bucket", os.environ["AWS_BILLING_REPORTS_BUCKET"]]
elif subcommand == "ls":
args += ["--filter", "state=running"]
elif subcommand == "tag":
args += [instance_id, "test=test test2=test"]
elif subcommand == "untag":
args += [instance_id, "test test2"]
self.call(["aegea", subcommand] + args, expect=expect)
评论列表
文章目录