class InformerTest(unittest.TestCase):
    def test_should_encode_username_and_password_to_authstring(self):
        self.informer = Informer(username="******", password="******")
        auth_string = base64.encodestring("%s:%s" % ("test", "test_pswd")).replace("\n", "")
        self.assertEquals(auth_string, self.informer._auth_string)

    def test_using_should_set_data_sanitizer_to_one_passed_in(self):
        self.informer = Informer(username="", password="")
        self.data_sanitizer = Mock(spec=DataSanitizer)
        self.informer.using(self.data_sanitizer)
        self.assertEquals(self.data_sanitizer, self.informer._data_sanitizer)

    def test_using_should_return_self(self):
        self.informer = Informer(username="", password="")
        self.data_sanitizer = Mock(spec=DataSanitizer)
        informer = self.informer.using(self.data_sanitizer)
        self.assertEquals(self.informer, informer)

    def test_should_fetch_data_from_url_and_sanitize_it_return_sanitized_data(self):
        self.informer = Informer(username="******", password="******")
        self.data_sanitizer = Mock(spec=DataSanitizer)
        self.data_sanitizer.clean.return_value = {"key": []}
        auth_string = base64.encodestring("%s:%s" % ("test", "password")).replace("\n", "")
        request = urllib2.Request("http://localhost")
        request.add_header("Authorization", "Basic %s" % auth_string)
        with patch.object(urllib2, "urlopen") as mock_urllib:
            mock_urllib.return_value = Response()
            data = self.informer.using(self.data_sanitizer).get_data_from(url="http://localhost")
            self.assertEquals({"key": []}, data)

    def test_should_return_empty_list_in_case_url_is_none(self):
        self.informer = Informer(username="******", password="******")
        data = self.informer.using(Mock(spec=DataSanitizer)).get_data_from(None)
        self.assertEquals([], data)
Example #2
0
class InformerTest(unittest.TestCase):
    def test_should_encode_username_and_password_to_authstring(self):
        self.informer = Informer(username='******', password='******')
        auth_string = base64.encodestring(
            '%s:%s' % ('test', 'test_pswd')).replace('\n', '')
        self.assertEquals(auth_string, self.informer._auth_string)

    def test_using_should_set_data_sanitizer_to_one_passed_in(self):
        self.informer = Informer(username='', password='')
        self.data_sanitizer = Mock(spec=DataSanitizer)
        self.informer.using(self.data_sanitizer)
        self.assertEquals(self.data_sanitizer, self.informer._data_sanitizer)

    def test_using_should_return_self(self):
        self.informer = Informer(username='', password='')
        self.data_sanitizer = Mock(spec=DataSanitizer)
        informer = self.informer.using(self.data_sanitizer)
        self.assertEquals(self.informer, informer)

    def test_should_fetch_data_from_url_and_sanitize_it_return_sanitized_data(
            self):
        self.informer = Informer(username='******', password='******')
        self.data_sanitizer = Mock(spec=DataSanitizer)
        self.data_sanitizer.clean.return_value = {'key': []}
        auth_string = base64.encodestring(
            '%s:%s' % ('test', 'password')).replace('\n', '')
        request = urllib2.Request('http://localhost')
        request.add_header("Authorization", "Basic %s" % auth_string)
        with patch.object(urllib2, 'urlopen') as mock_urllib:
            mock_urllib.return_value = Response()
            data = self.informer.using(
                self.data_sanitizer).get_data_from(url="http://localhost")
            self.assertEquals({'key': []}, data)

    def test_should_return_empty_list_in_case_url_is_none(self):
        self.informer = Informer(username='******', password='******')
        data = self.informer.using(
            Mock(spec=DataSanitizer)).get_data_from(None)
        self.assertEquals([], data)