Example #1
0
    def setUp(self):
        tags = {'title': 'One_love', 'artist': 'bob marley', 'album': 'EXODUS'}
        self.song = Mock()
        self.song.__getitem__ = Mock(side_effect=lambda tag: tags[tag])
        self.song.__setitem__ = Mock()
        self.song.__contains__ = Mock()

        self.humanize_operation = HumanizeOperation()
Example #2
0
    def test_get_fail(self):
        session = Mock()
        session.get = Mock(side_effect=RequestException)
        http_client = RequestsHttpClient(session)

        response = http_client.get("an url", {"some": "params"})

        session.get.assert_called_with("an url", params={"some": "params"})
        self.assertEquals(False, response)
Example #3
0
    def test_get_ok(self):
        session = Mock()
        resp = Mock()
        resp.text = "some text"
        session.get.return_value = resp
        http_client = RequestsHttpClient(session)

        response = http_client.get("an url", {"some": "params"})

        session.get.assert_called_with("an url", params={"some": "params"})
        self.assertEquals("some text", response)
Example #4
0
    def setUp(self):
        _tags = {
            'tracknumber': ['1/2'],
            'title': ['One Love'],
            'artist': ['Bob Marley'],
            'album': ['Exodus']
        }

        self._song_name = 'Bob Marley - One Love'
        self._filename = self._song_name + '.mp3'
        self._new_filename = 'Dennis Brown - Here I Come.mp3'

        def getitem(name):
            return _tags[name]

        def contains(key):
            return key in _tags

        self.mp3 = Mock()
        self.mp3.__getitem__ = Mock(side_effect=getitem)
        self.mp3.__setitem__ = Mock()
        self.mp3.__contains__ = Mock(side_effect=contains)
        self.mp3.filename = self._filename

        self.filesystem = Mock()

        self.template = Mock()
        self.template.template = DEFAULT_FORMAT
        self.template.idpattern = FreiTemplate.idpattern
        self.template.delimiter = FreiTemplate.delimiter
        self.template.safe_substitute.return_value = self._song_name + '   '

        self.song = FreiSong(self.mp3, filesystem=self.filesystem)
Example #5
0
    def test_search(self):
        parser_1 = Mock()
        parser_1.next.return_value = "next_url"
        parser_1.tunes.return_value = [{"one": 1}, {"two": 2}]

        parser_2 = Mock()
        parser_2.next.return_value = False
        parser_2.tunes.return_value = [{"three": 3}, {"four": 4}]

        parser_factory = Mock()
        parser_factory_returns = [parser_1, parser_2]

        def parser_factory_mock(*args):
            return parser_factory_returns.pop(0)

        parser_factory.from_html = Mock(side_effect=parser_factory_mock)

        http_client = Mock()
        http_client_returns = ["page 1", "page 2"]

        def http_client_mock(*args):
            return http_client_returns.pop(0)

        http_client.get = Mock(side_effect=http_client_mock)

        engine = RiddimguideSearchEngine(parser_factory, http_client)

        tunes = engine.search("query")

        expected_calls = [call("http://www.riddimguide.com/tunes?q=query"), call("http://www.riddimguide.com/next_url")]
        self.assertEquals(expected_calls, http_client.get.call_args_list)

        expected_calls = [call("page 1"), call("page 2")]
        self.assertEquals(expected_calls, parser_factory.from_html.call_args_list)

        expected_tunes = [{"one": 1}, {"two": 2}, {"three": 3}, {"four": 4}]
        self.assertEquals(expected_tunes, tunes)
Example #6
0
 def setUp(self):
     self.song = Mock()
     self.song.filename = '01 - Dennis Brown - Here I Come.mp3'
     self.extract_operation = ExtractOperation()
Example #7
0
 def setUp(self):
     self.song = Mock()
     self.template = Mock()
     self.rename_operation = RenameOperation(self.template)
Example #8
0
 def setUp(self):
     self.song = Mock()
     self.tags = {'one': 1, 'two': 2, 'three': 3}
     self.set_operation = SetOperation(self.tags)