#!/usr/bin/env python
"""
This is a mock of hobbes-test binary
"""
import argparse
import json
import sys


def main():
    parser = argparse.ArgumentParser(description='Start a mock of hobbes-test binary')

    parser.add_argument('--list_tests', action='store_true', help='List all tests')
    parser.add_argument('--tests', metavar='TEST', nargs='+', help='Specify the tests to run')
    parser.add_argument('--json', metavar='JSON_FILE', help='Specify the output json file')

    args, _ = parser.parse_known_args()

    with open('input.json') as fp:
        test_data = json.load(fp)

    if args.list_tests:
        print('\n'.join([test['name'] for test in test_data]))
        return

    if args.tests:
        for test in test_data:
            if test['name'] not in args.tests:
                for case in test['data']:
                    case['status'] = 'skipped'
                    case['duration'] = '0ns'

    if args.json:
        with open(args.json, 'w+') as fp:
            json.dump(test_data, fp)


if __name__ == "__main__":
    sys.exit(main())

