def METHOD_NAME(self):
    cases = [
        ('a:b', ('a', 'b')),
        (':b', ('', 'b')),
        ('b', (None, 'b')),
        (
            'dash-key:https://worksheets.codalab.org::some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            (
                'dash-key',
                'https://worksheets.codalab.org::some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            ),
        ),
        (
            ':https://worksheets.codalab.org::some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            (
                '',
                'https://worksheets.codalab.org::some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            ),
        ),
        (
            'prod::some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            (None, 'prod::some-worksheet//some-bundle-2.dirname/this/is/a/path.txt'),
        ),
        (
            'dash-key:some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            ('dash-key', 'some-worksheet//some-bundle-2.dirname/this/is/a/path.txt'),
        ),
        (
            ':some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            ('', 'some-worksheet//some-bundle-2.dirname/this/is/a/path.txt'),
        ),
        (
            'some-worksheet//some-bundle-2.dirname/this/is/a/path.txt',
            (None, 'some-worksheet//some-bundle-2.dirname/this/is/a/path.txt'),
        ),
        (
            'dash-key:some-bundle-2.dirname/this/is/a/path.txt',
            ('dash-key', 'some-bundle-2.dirname/this/is/a/path.txt'),
        ),
        (
            ':some-bundle-2.dirname/this/is/a/path.txt',
            ('', 'some-bundle-2.dirname/this/is/a/path.txt'),
        ),
        (
            'some-bundle-2.dirname/this/is/a/path.txt',
            (None, 'some-bundle-2.dirname/this/is/a/path.txt'),
        ),
        ('dash-key:some-bundle-2.dirname', ('dash-key', 'some-bundle-2.dirname')),
        (':some-bundle-2.dirname', ('', 'some-bundle-2.dirname')),
        ('some-bundle-2.dirname', (None, 'some-bundle-2.dirname')),
    ]
    for spec, expected_parse in cases:
        self.assertEqual(cli_util.parse_key_target(spec), expected_parse)
    usage_error_cases = [':', 'a:', '']
    for spec in usage_error_cases:
        self.assertRaises(UsageError, lambda: cli_util.parse_key_target(spec))