File: test_ia_metadata.py

package info (click to toggle)
python-internetarchive 1.8.1-1%2Bdeb10u1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 832 kB
  • sloc: python: 4,646; makefile: 180; xml: 180
file content (41 lines) | stat: -rw-r--r-- 1,566 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import sys
from time import time

import responses

from tests.conftest import IaRequestsMock, ia_call


def test_ia_metadata_exists(capsys):
    with IaRequestsMock() as rsps:
        rsps.add_metadata_mock('nasa')
        ia_call(['ia', 'metadata', '--exists', 'nasa'])
        out, err = capsys.readouterr()
        assert out == 'nasa exists\n'
        rsps.add_metadata_mock('nasa', '{}')
        sys.argv = ['ia', 'metadata', '--exists', 'nasa']
        ia_call(['ia', 'metadata', '--exists', 'nasa'], expected_exit_code=1)
        out, err = capsys.readouterr()
        assert err == 'nasa does not exist\n'


def test_ia_metadata_formats(capsys, nasa_mocker):
    ia_call(['ia', 'metadata', '--formats', 'nasa'])
    out, err = capsys.readouterr()
    expected_formats = set(['Collection Header', 'Archive BitTorrent', 'JPEG',
                            'Metadata', ''])
    assert set(out.split('\n')) == expected_formats


def test_ia_metadata_modify(capsys):
    md_rsp = ('{"success":true,"task_id":447613301,'
              '"log":"https://catalogd.archive.org/log/447613301"}')
    with IaRequestsMock() as rsps:
        rsps.add_metadata_mock('nasa')
        rsps.add_metadata_mock('nasa', body=md_rsp, method=responses.POST)
        rsps.add_metadata_mock('nasa')
        valid_key = "foo-{k}".format(k=int(time()))
        ia_call(['ia', 'metadata', '--modify', '{0}:test_value'.format(valid_key),
                 'nasa'])
        out, err = capsys.readouterr()
        assert out == 'nasa - success: https://catalogd.archive.org/log/447613301\n'