| @@ -0,0 +1,107 @@ | |||
| from focker.focker import * | |||
| def test_parser_bootstrap(): | |||
| parser = create_parser() | |||
| args = parser.parse_args(['bootstrap', '--dry-run', '--tags', 'a', 'b', 'c']) | |||
| assert args.func == command_bootstrap | |||
| assert args.tags == ['a', 'b', 'c'] | |||
| assert args.dry_run | |||
| def test_parser_image(): | |||
| parser = create_parser() | |||
| args = parser.parse_args(['image', 'build', '.', '--squeeze', '--tags', 'a', 'b', 'c']) | |||
| assert args.func == command_image_build | |||
| assert args.focker_dir == '.' | |||
| assert args.tags == ['a', 'b', 'c'] | |||
| assert args.squeeze | |||
| args = parser.parse_args(['image', 'tag', 'deadbee', 'a', 'b', 'c']) | |||
| assert args.func == command_image_tag | |||
| assert args.reference == 'deadbee' | |||
| assert args.tags == ['a', 'b', 'c'] | |||
| args = parser.parse_args(['image', 'untag', 'a', 'b', 'c']) | |||
| assert args.func == command_image_untag | |||
| assert args.tags == ['a', 'b', 'c'] | |||
| args = parser.parse_args(['image', 'list', '--full-sha256', '--tagged-only']) | |||
| assert args.func == command_image_list | |||
| assert args.full_sha256 | |||
| assert args.tagged_only | |||
| args = parser.parse_args(['image', 'prune']) | |||
| assert args.func == command_image_prune | |||
| args = parser.parse_args(['image', 'remove', 'a', '--remove-dependents', '--force']) | |||
| assert args.func == command_image_remove | |||
| assert args.reference == 'a' | |||
| assert args.remove_dependents | |||
| assert args.force | |||
| def test_parser_jail(monkeypatch): | |||
| parser = create_parser() | |||
| counter = [0] | |||
| def count_calls(fun, counter): | |||
| def inner(*args, **kwargs): | |||
| counter[0] += 1 | |||
| return fun(*args, **kwargs) | |||
| return inner | |||
| monkeypatch.setattr(parser, 'parse_args', count_calls(parser.parse_args, counter)) | |||
| args = parser.parse_args(['jail', 'create', 'freebsd-latest', '--command', '/test-command', '--tags', 'a', 'b', 'c', '--env', 'd:1', 'e:2', '--mounts', 'mount-A:/a', 'mount-B:/b', '--hostname', 'xyz']) | |||
| assert args.func == command_jail_create | |||
| assert args.command == '/test-command' | |||
| assert args.tags == ['a', 'b', 'c'] | |||
| assert args.env == ['d:1', 'e:2'] | |||
| assert args.mounts == ['mount-A:/a', 'mount-B:/b'] | |||
| assert args.hostname == 'xyz' | |||
| args = parser.parse_args(['jail', 'start', 'jail-A']) | |||
| assert args.func == command_jail_start | |||
| assert args.reference == 'jail-A' | |||
| args = parser.parse_args(['jail', 'stop', 'jail-A']) | |||
| assert args.func == command_jail_stop | |||
| assert args.reference == 'jail-A' | |||
| args = parser.parse_args(['jail', 'remove', 'jail-A', '--force']) | |||
| assert args.func == command_jail_remove | |||
| assert args.reference == 'jail-A' | |||
| assert args.force | |||
| args = parser.parse_args(['jail', 'exec', 'jail-A', '/bin/sh', '-c', 'ls', '-al']) | |||
| assert args.func == command_jail_exec | |||
| assert args.reference == 'jail-A' | |||
| assert args.command == ['/bin/sh', '-c', 'ls', '-al'] | |||
| args = parser.parse_args(['jail', 'oneshot', '--env', 'd:1', 'e:2', '--mounts', 'mount-A:/a', 'mount-B:/b', '--', 'image-A', '/bin/sh', '-c', 'ls', '-al']) | |||
| assert args.func == command_jail_oneshot | |||
| assert args.image == 'image-A' | |||
| assert args.env == ['d:1', 'e:2'] | |||
| assert args.mounts == ['mount-A:/a', 'mount-B:/b'] | |||
| assert args.command == ['/bin/sh', '-c', 'ls', '-al'] | |||
| args = parser.parse_args(['jail', 'list', '--full-sha256']) | |||
| assert args.func == command_jail_list | |||
| assert args.full_sha256 | |||
| args = parser.parse_args(['jail', 'tag', 'deadbee', 'a', 'b', 'c']) | |||
| assert args.func == command_jail_tag | |||
| assert args.reference == 'deadbee' | |||
| assert args.tags == ['a', 'b', 'c'] | |||
| args = parser.parse_args(['jail', 'untag', 'a', 'b', 'c']) | |||
| assert args.func == command_jail_untag | |||
| assert args.tags == ['a', 'b', 'c'] | |||
| args = parser.parse_args(['jail', 'prune', '--force']) | |||
| assert args.func == command_jail_prune | |||
| assert args.force | |||
| assert counter[0] == 10 | |||