Example #1
0
    def test_smoke(self):
        user1 = User(username='******', )
        user1.set_password('test')
        user1.save()

        user2 = User(username='******', )
        user2.set_password('test')
        user2.save()

        main_wallet = get_main_wallet()
        assert main_wallet.amount == settings.INITIAL_MAIN_WALLET_AMOUNT

        u1_wallets = make_initial_wallets(user1)
        u2_wallets = make_initial_wallets(user2)

        user1.get_session_auth_hash()
        main_wallet = get_main_wallet()
        assert main_wallet.amount == settings.INITIAL_MAIN_WALLET_AMOUNT - 200

        token_response = self.client.post(reverse('auth'), data={'username': user1.username, 'password': '******'})
        assert token_response.status_code == 200

        move_money(u1_wallets[0], u2_wallets[0], 10.0, description='test', use_commission=True)

        assert main_wallet.amount == (settings.INITIAL_MAIN_WALLET_AMOUNT - 200) + 0.1
Example #2
0
    def create_client(self):
        patcher = mocked_relations(User, Session)
        patcher.start()
        self.addCleanup(patcher.stop)

        user = User(pk=users.KIVE_USER_PK)
        User.objects.add(user)
        User.objects.model = User
        # noinspection PyUnresolvedReferences
        patcher = patch.object(User._meta, 'default_manager', User.objects)
        patcher.start()
        self.addCleanup(patcher.stop)
        dummy_session_key = 'dummysession'
        dummy_session = Session(session_key=dummy_session_key,
                                expire_date=now() + timedelta(days=1),
                                session_data=SessionStore().encode({
                                    SESSION_KEY:
                                    users.KIVE_USER_PK,
                                    HASH_SESSION_KEY:
                                    user.get_session_auth_hash(),
                                    BACKEND_SESSION_KEY:
                                    'django.contrib.auth.backends.ModelBackend'
                                }))
        Session.objects.add(dummy_session)
        client = Client()
        client.cookies[settings.SESSION_COOKIE_NAME] = dummy_session_key
        client.force_login(kive_user())
        return client
Example #3
0
    def create_client(self):
        patcher = mocked_relations(User, Session)
        patcher.start()
        self.addCleanup(patcher.stop)

        user = User(pk=users.KIVE_USER_PK)
        User.objects.add(user)
        User.objects.model = User
        # noinspection PyUnresolvedReferences
        patcher = patch.object(User._meta, 'default_manager', User.objects)
        patcher.start()
        self.addCleanup(patcher.stop)
        dummy_session_key = 'dummysession'
        dummy_session = Session(
            session_key=dummy_session_key,
            expire_date=now() + timedelta(days=1),
            session_data=SessionStore().encode({
                SESSION_KEY: users.KIVE_USER_PK,
                HASH_SESSION_KEY: user.get_session_auth_hash(),
                BACKEND_SESSION_KEY: 'django.contrib.auth.backends.ModelBackend'}))
        Session.objects.add(dummy_session)
        client = Client()
        client.cookies[settings.SESSION_COOKIE_NAME] = dummy_session_key
        client.force_login(kive_user())
        return client
Example #4
0
class SeleniumTestCase(StaticLiveServerTestCase):
    """
    A base test case for selenium, providing different helper methods.
    """

    @classmethod
    def setUpClass(cls):
        super().setUpClass()
        cls.browser = browsers['firefox']()
        cls.browser.implicitly_wait(0)

    @classmethod
    def tearDownClass(cls):
        cls.browser.quit()
        super().tearDownClass()

    def setUp(self):
        country = Country.objects.create(name='Bar', continent='AS')
        self.location = City.objects.create(
            name='Foo', display_name='Foo', country=country)
        with open('{}{}'.format(getcwd(),
                  '/systers_portal/common/tests/selenium/credentials.json')
                  ) as json_data:
            credentials = json.load(json_data)
        self.user = User()
        self.user.username = credentials['username']
        self.user.set_password(credentials['password'])
        self.user.save()
        self.systers_user = SystersUser.objects.get(user=self.user)
        self.meetup_location = MeetupLocation.objects.create(
            name="Foo Systers",
            slug="foo",
            location=self.location,
            description="It's a test location",
            sponsors="BarBaz",
            leader=self.systers_user)
        self.meetup_location_request = RequestMeetupLocation.objects.create(
            name="Bar Systers",
            slug="bar",
            location=self.location,
            description="This is a test meetup location request",
            user=self.systers_user)
        self.meetup = Meetup.objects.create(
            title="Test Meetup",
            slug="baz",
            date=timezone.now().date(),
            time=timezone.now().time(),
            venue="FooBar colony",
            description="This is a testing meetup.",
            meetup_location=self.meetup_location,
            created_by=self.systers_user)

    def create_session_cookie(self):
        """Create a pre-authenticated authenticated cookie using user credentials"""
        session = SessionStore()
        session[SESSION_KEY] = self.user.pk
        session[BACKEND_SESSION_KEY] = settings.AUTHENTICATION_BACKENDS[0]
        session[HASH_SESSION_KEY] = self.user.get_session_auth_hash()
        session.save()

        # Finally, create the cookie dictionary
        cookie = {
            'name': settings.SESSION_COOKIE_NAME,
            'value': session.session_key,
            'secure': False,
            'path': '/',
        }
        return cookie

    def verify_user(self):
        """Verify instance user account using django-allauth constructs"""
        account_emailaddresse = EmailAddress()
        account_emailaddresse.email = '*****@*****.**'
        account_emailaddresse.verified = True
        account_emailaddresse.user_id = self.user.id
        account_emailaddresse.save()

    def make_admin(self):
        self.user.is_staff = True
        self.user.is_superuser = True
        self.user.save()
        self.verify_user()
Example #5
0
class SeleniumTestCase(StaticLiveServerTestCase):
    """
    A base test case for selenium, providing different helper methods.
    """
    @classmethod
    def setUpClass(cls):
        super().setUpClass()
        cls.browser = browsers['firefox']()
        cls.browser.implicitly_wait(0)

    @classmethod
    def tearDownClass(cls):
        cls.browser.quit()
        super().tearDownClass()

    def setUp(self):
        country = Country.objects.create(name='Bar', continent='AS')
        self.location = City.objects.create(name='Foo',
                                            display_name='Foo',
                                            country=country)
        with open('{}{}'.format(
                getcwd(),
                '/systers_portal/common/tests/selenium/credentials.json')
                  ) as json_data:
            credentials = json.load(json_data)
        self.user = User()
        self.user.username = credentials['username']
        self.user.set_password(credentials['password'])
        self.user.save()
        self.systers_user = SystersUser.objects.get(user=self.user)
        self.meetup_location = MeetupLocation.objects.create(
            name="Foo Systers",
            slug="foo",
            location=self.location,
            description="It's a test location",
            sponsors="BarBaz",
            leader=self.systers_user)
        self.meetup_location_request = RequestMeetupLocation.objects.create(
            name="Bar Systers",
            slug="bar",
            location=self.location,
            description="This is a test meetup location request",
            user=self.systers_user)
        self.meetup = Meetup.objects.create(
            title="Test Meetup",
            slug="baz",
            date=timezone.now().date(),
            time=timezone.now().time(),
            venue="FooBar colony",
            description="This is a testing meetup.",
            meetup_location=self.meetup_location,
            created_by=self.systers_user)

    def create_session_cookie(self):
        """Create a pre-authenticated authenticated cookie using user credentials"""
        session = SessionStore()
        session[SESSION_KEY] = self.user.pk
        session[BACKEND_SESSION_KEY] = settings.AUTHENTICATION_BACKENDS[0]
        session[HASH_SESSION_KEY] = self.user.get_session_auth_hash()
        session.save()

        # Finally, create the cookie dictionary
        cookie = {
            'name': settings.SESSION_COOKIE_NAME,
            'value': session.session_key,
            'secure': False,
            'path': '/',
        }
        return cookie

    def verify_user(self):
        """Verify instance user account using django-allauth constructs"""
        account_emailaddresse = EmailAddress()
        account_emailaddresse.email = '*****@*****.**'
        account_emailaddresse.verified = True
        account_emailaddresse.user_id = self.user.id
        account_emailaddresse.save()

    def make_admin(self):
        self.user.is_staff = True
        self.user.is_superuser = True
        self.user.save()
        self.verify_user()