예제 #1
0
    def test_usernames_to_json(self):
        usernames = ['charlie', 'joseph', 'igor']

        passwords = ['secret', 'checkpoint', 'bravo']

        domain = Domain(name='victim', url='victim.org')
        domain.save()

        for username in usernames:
            domain.username_set.create(username=username)

        for password in passwords:
            domain.password_set.create(password=password)

        usernames_from_db = domain.username_set.all().values('username')
        usernames_dict = {'usernames': list(usernames_from_db)}
        self.assertListEqual(
            usernames, list(map(lambda x: x['username'], usernames_from_db)))
        self.assertDictEqual(json.loads(json.dumps(usernames_dict)),
                             usernames_dict)

        passwords_from_db = domain.password_set.all().values('password')
        passwords_dict = {'passwords': list(passwords_from_db)}
        self.assertListEqual(
            passwords, list(map(lambda x: x['password'], passwords_from_db)))
        self.assertDictEqual(json.loads(json.dumps(passwords_dict)),
                             passwords_dict)
예제 #2
0
    def setUpClass(cls):
        super().setUpClass()
        domain = Domain(name='example', url='selenium.org', chunk_size=2)
        domain.save()

        for i in range(0, 10):
            domain.username_set.create(username='******'.format(i))
        domain.username_set.create(username='******')
        for i in range(0, 10):
            domain.password_set.create(password='******'.format(i))
        domain.password_set.create(password='******')

        options = Options()
        options.add_argument('-headless')
        options.headless = True

        d = DesiredCapabilities.FIREFOX
        d['loggingPrefs'] = {'browser': 'ALL'}

        cls.drivers = [
            Firefox(firefox_options=options, desired_capabilities=d),
            Firefox(firefox_options=options, desired_capabilities=d),
            Firefox(firefox_options=options, desired_capabilities=d),
            Firefox(firefox_options=options, desired_capabilities=d)
        ]
예제 #3
0
class Test(TestCase):

    # noinspection PyAttributeOutsideInit
    def setUp(self):
        self.domain = Domain(name='victim', chunk_size=256)
        self.domain.save()

        self.first_client = Client(ip='129.168.0.1', user_agent='tester')
        self.first_client.save()

        self.second_client = Client(ip='129.168.0.1', user_agent='tester')
        self.second_client.save()

        self.bogged_client = Client(ip='129.168.0.2',
                                    user_agent='bogged tester')
        self.bogged_client.save()

    def test_create_client_without_uuid_client(self):
        client = Client(ip='129.168.0.1', user_agent='tester', uuid=None)
        client.save()

    def test_create_client_without_useragent_client(self):
        client = Client(ip='129.168.0.1', user_agent=None)
        client.save()

    def test_create_client(self):
        uuid = 'da8e4c40-8c10-4f97-b109-d17ec8ad9960'
        user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile ' \
                     'Safari/533.1 '
        ip = '192.168.2.3'
        request = HttpRequest()
        # noinspection PyPropertyAccess
        request.headers = {'User-Agent': user_agent, 'X-CLIENT-UUID': uuid}
        request.META = {'REMOTE_ADDR': ip}
        client = get_client(request)
        self.assertEquals(client.ip, ip)
        self.assertEquals(client.user_agent, user_agent)
        self.assertEquals(client.uuid, uuid)

    def test_create_client_without_uuid(self):
        request = HttpRequest()
        # noinspection PyPropertyAccess
        request.headers = {'User-Agent': 'nouuid'}
        request.META = {'REMOTE_ADDR': '192.168.2.3'}
        client = get_client(request)
        self.assertEquals(client.ip, '192.168.2.3')
        self.assertEquals(client.user_agent, 'nouuid')
        self.assertIsNone(client.uuid)

    def test_create_client_without_user_agent(self):
        request = HttpRequest()
        # noinspection PyPropertyAccess
        request.headers = {}
        request.META = {'REMOTE_ADDR': '192.168.2.3'}
        client = get_client(request)
        self.assertEquals(client.ip, '192.168.2.3')
        self.assertIsNone(client.user_agent)

    def test_get_existing_client_without_uuid(self):
        ip = '192.168.2.3'
        client = Client(ip=ip, user_agent='tester_existing', uuid=None)
        client.save()

        other = Client(ip=ip, user_agent='tester_existing 2', uuid=None)
        other.save()

        request = HttpRequest()
        # noinspection PyPropertyAccess
        request.headers = {'User-Agent': 'tester_existing'}
        request.META = {'REMOTE_ADDR': ip}
        self.assertEquals(client, get_client(request))