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()
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)
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)
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)
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)
def setUp(self): self.song = Mock() self.song.filename = '01 - Dennis Brown - Here I Come.mp3' self.extract_operation = ExtractOperation()
def setUp(self): self.song = Mock() self.template = Mock() self.rename_operation = RenameOperation(self.template)
def setUp(self): self.song = Mock() self.tags = {'one': 1, 'two': 2, 'three': 3} self.set_operation = SetOperation(self.tags)