Test Failed
Push — integration-test ( 38729c...7218c8 )
by Konstantinos
02:11
created

TestCreateAlbum.test_main()   A

Complexity

Conditions 1

Size

Total Lines 4
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
import os
2
import subprocess
3
4
import mock
5
import pytest
6
from click.testing import CliRunner
7
8
from music_album_creation.create_album import main
9
10
11
class TestCreateAlbum:
12
13
    def test_launching(self):
14
        ro = subprocess.run(['create-album', '--help'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
15
        assert ro.returncode == 0
16
17
@pytest.fixture(scope='module')
18
def integration_data():
19
    return "Music library: /media/kostas/freeagent/m\nLogo\n"
20
21
@mock.patch('music_album_creation.create_album.inout')
22
def test_integration(mock_inout, integration_data):
23
24
    runner = CliRunner()
25
    mock_inout.logo.return_value = 'Logo'
26
    mock_inout.input_youtube_url_dialog.return_value = 'https://www.youtube.com/watch?v=Wjrrgrvq1ew'
27
    mock_inout.interactive_track_info_input_dialog.return_value = \
28
        '1.  Gasoline - 0:00' \
29
        '2.  Man vs. God - 0:15'
30
    mock_inout.track_information_type_dialog.return_value = 'Timestamps'
31
    mock_inout.album_directory_path_dialog.return_value = os.path.join(os.environ['MUSIC_LIB_ROOT'], 'Planet_of_Zeus/Faith_in_Science')
32
    mock_inout.interactive_metadata_dialogs.return_value = {'artist': 'Planet of Zeus', 'album-artist': 'Planet of Zeus', 'album': 'Faith in Science', 'year': '2019'}
33
34
    result = runner.invoke(main, [])
35
    assert result.exit_code == 0
36