def test_parse_repository_tag(self):
    assert (parse_repository_tag('root') == ('root', '', ':'))
    assert (parse_repository_tag('root:tag') == ('root', 'tag', ':'))
    assert (parse_repository_tag('user/repo') == ('user/repo', '', ':'))
    assert (parse_repository_tag('user/repo:tag') == ('user/repo', 'tag', ':'))
    assert (parse_repository_tag('url:5000/repo') == ('url:5000/repo', '', ':'))
    assert (parse_repository_tag('url:5000/repo:tag') == ('url:5000/repo', 'tag', ':'))
    assert (parse_repository_tag('root@sha256:digest') == ('root', 'sha256:digest', '@'))
    assert (parse_repository_tag('user/repo@sha256:digest') == ('user/repo', 'sha256:digest', '@'))
    assert (parse_repository_tag('url:5000/repo@sha256:digest') == ('url:5000/repo', 'sha256:digest', '@'))
def test_parse_repository_tag(self):
    assert (parse_repository_tag('root') == ('root', , ':'))
    assert (parse_repository_tag('root:tag') == ('root', 'tag', ':'))
    assert (parse_repository_tag('user/repo') == ('user/repo', , ':'))
    assert (parse_repository_tag('user/repo:tag') == ('user/repo', 'tag', ':'))
    assert (parse_repository_tag('url:5000/repo') == ('url:5000/repo', , ':'))
    assert (parse_repository_tag('url:5000/repo:tag') == ('url:5000/repo', 'tag', ':'))
    assert (parse_repository_tag('root@sha256:digest') == ('root', 'sha256:digest', '@'))
    assert (parse_repository_tag('user/repo@sha256:digest') == ('user/repo', 'sha256:digest', '@'))
    assert (parse_repository_tag('url:5000/repo@sha256:digest') == ('url:5000/repo', 'sha256:digest', '@'))