Пример #1
0
    def test_no_accounts_recieved(self, mock_render_to_response,
                                  mock_get_user_info):
        responses.reset()
        responses.add(
            responses.GET,
            'https://app.vssps.visualstudio.com/_apis/accounts',
            json={
                'value': [],
                'count': 0,
            },
            status=200,
        )

        view = AccountConfigView()
        request = Mock()
        request.POST = {}
        request.user = self.user

        pipeline = Mock()
        pipeline.fetch_state = lambda key: {
            'data': {
                'access_token': '1234567890'
            }
        }
        pipeline.organization = self.organization

        view.dispatch(request, pipeline)
        assert mock_get_user_info.called is True
        assert mock_render_to_response.called is True
        assert mock_render_to_response.call_args[1]['context'] == {
            'no_accounts': True
        }
Пример #2
0
def create_fake_request(issue):
    request = Mock(HttpRequest)
    request.GET = Mock()
    request.journal = issue.journal
    request.POST = {'export-issue': issue.pk}

    return request
Пример #3
0
    def test_no_accounts_recieved(self, mock_render_to_response, mock_get_user_info):
        responses.reset()
        responses.add(
            responses.GET,
            'https://app.vssps.visualstudio.com/_apis/accounts',
            json={
                'value': [],
                'count': 0,
            },
            status=200,
        )

        view = AccountConfigView()
        request = Mock()
        request.POST = {}
        request.user = self.user

        pipeline = Mock()
        pipeline.fetch_state = lambda key: {'data': {'access_token': '1234567890'}}
        pipeline.organization = self.organization

        view.dispatch(request, pipeline)
        assert mock_get_user_info.called is True
        assert mock_render_to_response.called is True
        assert mock_render_to_response.call_args[1]['context'] == {'no_accounts': True}
    def _test_request(self, domain, path, response_code=200, expected_event=True):
        request = Mock()
        request.path = path
        request.domain = domain
        request.GET = {}
        request.POST = {}
        request.META = {
            'HTTP_X_FORWARDED_FOR': '10.99.100.1'
        }
        request.user = Mock()
        request.user.is_authenticated = True
        request.user.username = '******'
        request.couch_user = self.user
        request.session = Mock()
        request.session.session_key = uuid.uuid4().hex

        response = Mock()
        response.status_code = response_code
        ICDSAuditMiddleware().process_response(request, response)
        events = list(ICDSAuditEntryRecord.objects.all())
        event = events[0] if events else None

        if expected_event:
            self.assertIsNotNone(event)
            self.assertEqual(event.url, path)
            self.assertEqual(event.response_code, response_code)
        else:
            self.assertIsNone(event)
Пример #5
0
    def test_owner_or_mod_required_passes_url_parameters(self):
        @owner_or_moderator_required
        def mock_view(request, user, context):
            return None

        request = Mock(spec=('path', 'POST', 'user', 'method'))
        request.method = "POST"
        request.user = AnonymousUser()
        request.POST = {'abra': 'cadabra', 'foo': 'bar'}
        request.path = '/some/path/'
        user = self.create_user('user')
        response = mock_view(request, user, {})
        self.assertEqual(isinstance(response, HttpResponseRedirect), True)

        url = response['location']
        parsed_url = urllib.parse.urlparse(url)

        self.assertEqual(parsed_url.path, reverse('user_signin'))

        next_jwt = dict(urllib.parse.parse_qsl(parsed_url.query))['next']
        next_url = decode_jwt(next_jwt).get('next_url')
        parsed_url = urllib.parse.urlparse(next_url)

        self.assertEqual(parsed_url.path, request.path)

        query = dict(urllib.parse.parse_qsl(parsed_url.query))
        self.assertEqual(set(query.keys()), set(['foo', 'abra']))
        self.assertEqual(set(query.values()), set(['bar', 'cadabra']))
        self.assertEqual(query['abra'], 'cadabra')
 def setUp(self):
     request = Mock()
     request.method = 'POST'
     request.POST = {'livetranslation-popup-0-msgid': 'the-msgid',
                     'livetranslation-popup-0-en': 'the-msgstr'}
     with patch('livetranslation.views.save_translations') as save:
         self.response = get_translations(request)
     self.save_translations = save
Пример #7
0
    def test_developer_add_GET(self):
        request = Mock()
        request.POST = None
        response = developer_add(request)

        self.assertEqual(200, response.status_code)
        pattern = '<form action="%s" method="post">' % reverse(developer_add)
        self.assertIsNotNone(re.search(pattern, response.content))
Пример #8
0
    def test_payment_already_paid(self):
        payment = mommy.make(getpaid.models.Payment, id=90, amount=119000, paid_on=now())

        request = Mock()
        request.POST = {'TBK_MONTO': '11900000'}
        request.body = self.QUOTED_REQUEST_BODY

        self.assertFalse(PaymentProcessor.validate(payment, request))
Пример #9
0
    def test_bad_version(self):
        project = self.create_project()
        user = self.create_user()
        hook = HerokuReleaseHook(project)

        req = Mock()
        req.POST = {"head_long": "", "url": "http://example.com", "user": user.email}
        with self.assertRaises(HookValidationError):
            hook.handle(req)
Пример #10
0
 def test_trap_duplicate_skipped_on_standalone(self, trap_duplicate_mock):
     self.create_switch('webapps-unique-by-domain')
     request = Mock()
     request.method = 'POST'
     request.POST = {'manifest': ''}
     request.return_value = collections.namedtuple('FakeResponse',
                                                   'status_code content')
     standalone_hosted_upload(request)
     assert not trap_duplicate_mock.called
Пример #11
0
 def test_trap_duplicate_skipped_on_standalone(self, trap_duplicate_mock):
     self.create_switch('webapps-unique-by-domain')
     request = Mock()
     request.method = 'POST'
     request.POST = {'manifest': ''}
     request.return_value = collections.namedtuple('FakeResponse',
                                                   'status_code content')
     standalone_hosted_upload(request)
     assert not trap_duplicate_mock.called
Пример #12
0
 def test_secret_not_required(self):
     from lti.contrib.django import DjangoToolProvider
     mock_req = Mock()
     mock_req.POST = {'oauth_consumer_key': 'foo'}
     mock_req.META = {'CONTENT_TYPE': 'bar'}
     mock_req.build_absolute_uri.return_value = 'http://example.edu/foo/bar'
     tp = DjangoToolProvider.from_django_request(request=mock_req)
     self.assertEqual(tp.consumer_key, 'foo')
     self.assertEqual(tp.launch_headers['CONTENT_TYPE'], 'bar')
     self.assertEqual(tp.launch_url, 'http://example.edu/foo/bar')
Пример #13
0
 def test_secret_not_required(self):
     from lti.contrib.django import DjangoToolProvider
     mock_req = Mock()
     mock_req.POST = {'oauth_consumer_key': 'foo'}
     mock_req.META = {'CONTENT_TYPE': 'bar'}
     mock_req.build_absolute_uri.return_value = 'http://example.edu/foo/bar'
     tp = DjangoToolProvider.from_django_request(request=mock_req)
     self.assertEqual(tp.consumer_key, 'foo')
     self.assertEqual(tp.launch_headers['CONTENT_TYPE'], 'bar')
     self.assertEqual(tp.launch_url, 'http://example.edu/foo/bar')
Пример #14
0
 def computed_signature(self):
     """
     Compute the signature on the fly
     """
     from mock import Mock
     from systempay.facade import Facade
     from django.http import QueryDict
     request = Mock()
     request.POST = QueryDict(self.raw_request)
     facade = Facade()
     form = facade.get_return_form_populated_with_request(request)
     return facade.gateway.compute_signature(form)
Пример #15
0
 def computed_signature(self):
     """
     Compute the signature on the fly
     """
     from mock import Mock
     from systempay.facade import Facade
     from django.http import QueryDict
     request = Mock()
     request.POST = QueryDict(self.raw_request)
     facade = Facade()
     form = facade.get_return_form_populated_with_request(request)
     return facade.gateway.compute_signature(form)
Пример #16
0
 def get_view_context(self, view_class, data=None, user=None, method='GET'):
     spec = ['user']
     assert(method in ('GET', 'POST'))
     spec.append(method)
     request = Mock(spec=spec)
     if method == 'GET':
         request.GET = data
     else:
         request.POST = data
     setattr(request, method, data)
     request.user = user
     return view_class().get_context(request)
Пример #17
0
    def test_bad_version(self):
        project = self.create_project()
        user = self.create_user()
        hook = HerokuReleaseHook(project)

        req = Mock()
        req.POST = {
            'head_long': '',
            'url': 'http://example.com',
            'user': user.email,
        }
        with self.assertRaises(HookValidationError):
            hook.handle(req)
Пример #18
0
    def test_bad_version(self):
        project = self.create_project()
        user = self.create_user()
        hook = HerokuReleaseHook(project)

        req = Mock()
        req.POST = {
            'head_long': '',
            'url': 'http://example.com',
            'user': user.email,
        }
        with self.assertRaises(HookValidationError):
            hook.handle(req)
Пример #19
0
 def test_post_authenticated(self, verify_mock, get_audience_mock):
     user = UserFactory.create()
     Verify = BrowserIDVerify()
     request_mock = Mock()
     request_mock.user.is_authenticated.return_value = True
     request_mock.user = user
     request_mock.POST = {'assertion': 'assertion'}
     Verify.request = request_mock
     get_audience_mock.return_value = 'audience'
     verify_mock.return_value = Mock(email='*****@*****.**')
     Verify.post()
     verify_mock.assert_called_with('assertion', 'audience')
     get_audience_mock.assert_called_with(request_mock)
     eq_(user.email, '*****@*****.**')
Пример #20
0
    def test_developer_password_GET(self, get_by_login):
        request = Mock()
        request.POST = None

        developer_instance = Mock()
        developer_instance.login = "******"
        get_by_login.return_value = developer_instance

        response = developer_password(request, "realsugar")
        self.assertEqual(200, response.status_code)
        pattern = '<form action="%s" method="post">' % reverse(developer_password, args=["realsugar"])
        self.assertIsNotNone(re.search(pattern, response.content))

        get_by_login.assert_called_once_with("realsugar")
Пример #21
0
 def test_post_valid_email_exists(self, verify_mock, get_audience_mock,
                                  login_failure_mock):
     UserFactory.create(email='*****@*****.**')
     user = UserFactory.create(email='*****@*****.**')
     Verify = BrowserIDVerify()
     request_mock = Mock()
     request_mock.user.is_authenticated.return_value = True
     request_mock.user = user
     request_mock.POST = {'assertion': 'assertion'}
     Verify.request = request_mock
     verify_mock.return_value = Mock(email='*****@*****.**')
     get_audience_mock.return_value = 'audience'
     Verify.post()
     verify_mock.assert_called_with('assertion', 'audience')
     get_audience_mock.assert_called_with(request_mock)
     login_failure_mock.assert_called_with()
     ok_(Verify.add_email)
Пример #22
0
 def test_post_authenticated(self, verify_mock, get_audience_mock):
     user = UserFactory.create()
     Verify = BrowserIDVerify()
     request_mock = Mock()
     request_mock.user.is_authenticated.return_value = True
     request_mock.user = user
     request_mock.POST = {'assertion': 'assertion'}
     Verify.request = request_mock
     get_audience_mock.return_value = 'audience'
     verify_mock.return_value = Mock(email='*****@*****.**')
     Verify.post()
     verify_mock.assert_called_with('assertion', 'audience')
     get_audience_mock.assert_called_with(request_mock)
     emails = ExternalAccount.objects.filter(type=ExternalAccount.TYPE_EMAIL,
                                             identifier='*****@*****.**',
                                             user=user.userprofile)
     ok_(emails.exists())
Пример #23
0
    def test_enable_device(self):
        response = iptables_download({})
        response_dict = json.loads(response._get_content()[5:])

        expected_blocked = [{u'ip_address': u'192.168.10.4',
               u'mac_address': u'58:94:6B:A4:D7:BC'},
              {u'ip_address': u'192.168.11.125',
               u'mac_address': u'8C:58:77:02:8E:5D'}]
        self.assertEqual(expected_blocked, response_dict['blocked'])

        request = Mock()
        request.POST = { "mac_address": '58:94:6b:a4:da:bc', "duration": 30 }
        request.method = "POST"
        response = enable_device(request)
        response_dict = json.loads(response._get_content()[5:])
        self.assertEqual(response_dict['success'], True)
        self.assertEqual(response_dict['message'], 'Saved')
Пример #24
0
 def test_post_valid_email_exists(self, verify_mock, get_audience_mock,
                                  login_failure_mock):
     UserFactory.create(email='*****@*****.**')
     user = UserFactory.create(email='*****@*****.**')
     Verify = BrowserIDVerify()
     request_mock = Mock()
     request_mock.user.is_authenticated.return_value = True
     request_mock.user = user
     request_mock.POST = {'assertion': 'assertion'}
     Verify.request = request_mock
     verify_mock.return_value = Mock(email='*****@*****.**')
     get_audience_mock.return_value = 'audience'
     Verify.post()
     verify_mock.assert_called_with('assertion', 'audience')
     get_audience_mock.assert_called_with(request_mock)
     login_failure_mock.assert_called_with()
     ok_(Verify.change_email)
Пример #25
0
 def test_post_authenticated(self, verify_mock, get_audience_mock):
     user = UserFactory.create()
     Verify = BrowserIDVerify()
     request_mock = Mock()
     request_mock.user.is_authenticated.return_value = True
     request_mock.user = user
     request_mock.POST = {'assertion': 'assertion'}
     Verify.request = request_mock
     get_audience_mock.return_value = 'audience'
     verify_mock.return_value = Mock(email='*****@*****.**')
     Verify.post()
     verify_mock.assert_called_with('assertion', 'audience')
     get_audience_mock.assert_called_with(request_mock)
     emails = ExternalAccount.objects.filter(
         type=ExternalAccount.TYPE_EMAIL,
         identifier='*****@*****.**',
         user=user.userprofile)
     ok_(emails.exists())
Пример #26
0
Файл: utils.py Проект: somnam/xo
    def test_StoneUpdate_AddInvalidStone_AddsStone(self):

        # Mock request
        request = Mock()
        request.user = User.objects.get(pk=1)
        request.POST = {'row': 0, 'col': 1}

        # Get game board
        game_id = 1
        board = Board.objects.get(pk=game_id)

        # Store count of placed stones
        latest_stones_count = board.get_placed_stones().count()

        # Add new stone to board
        go.utils.stone_update(request, game_id)

        # Compare stones count
        self.assertEqual(board.get_placed_stones().count(),
                         latest_stones_count)
Пример #27
0
Файл: utils.py Проект: somnam/xo
    def test_StoneUpdate_DeleteInvalidStone_FormSaveFails(self):

        # Mock request
        request = Mock()
        request.user = User.objects.get(pk=1)
        request.POST = {'row': 1, 'col': 1, 'action': 'del'}

        # Get game board
        game_id = 1
        board = Board.objects.get(pk=game_id)

        # Store count of placed stones
        latest_stones_count = board.get_placed_stones().count()

        # Remove stone from board
        go.utils.stone_update(request, game_id)

        # Compare stones count
        self.assertEqual(board.get_placed_stones().count(),
                         latest_stones_count)
    def create_mock_request(self):
        request = Mock()
        request.POST = QueryDict("vads_validation_mode=0&vads_cust_cell_phone=&vads_threeds_error_code=&\
vads_auth_number=171970&vads_site_id=99878789&vads_cust_id=&vads_ctx_mode=TEST&vads_language=fr&\
vads_payment_config=SINGLE&vads_ship_to_name=&vads_threeds_cavv=Q2F2dkNhdnZDYXZ2Q2F2dkNhdnY%3D&vads_extra_result=&\
vads_version=V2&vads_cust_country=&vads_cust_city=&vads_auth_mode=FULL&vads_trans_id=550758&vads_contrib=&\
vads_threeds_xid=dkNBQURpbHluUHMzbHdqSnRsSnc%3D&vads_card_country=FR&vads_cust_phone=&vads_order_info=&\
vads_cust_address=&vads_ship_to_phone_num=&vads_currency=978&vads_page_action=PAYMENT&vads_cust_name=&\
vads_sequence_number=1&vads_order_info2=&vads_order_info3=&\
vads_payment_certificate=f59522596f05f1b18e878f586ea31b4809832969&vads_threeds_enrolled=Y&\
vads_trans_date=20121122151746&vads_url_check_src=PAY&vads_warranty_result=YES&vads_auth_result=00&\
vads_payment_src=EC&vads_threeds_exit_status=10&vads_cust_zip=&vads_card_brand=CB&vads_pays_ip=FR&\
vads_capture_delay=0&vads_ship_to_street=&vads_ship_to_state=&vads_cust_email=&vads_contract_used=5830136&\
vads_action_mode=INTERACTIVE&vads_ship_to_street2=&vads_user_info=&vads_threeds_status=Y&vads_amount=1904&\
vads_order_id=100368&vads_ship_to_zip=&vads_ship_to_country=&vads_threeds_eci=05&vads_cust_state=&\
vads_threeds_sign_valid=1&vads_expiry_year=2013&vads_effective_amount=1904&vads_expiry_month=6&\
vads_threeds_cavvAlgorithm=2&vads_result=00&vads_operation_type=DEBIT&vads_cust_title=&\
signature=33f7eb8ca557cf862c72261da4e602f9c903afc2&vads_trans_status=AUTHORISED&\
vads_theme_config=&vads_ship_to_city=&vads_hash=rcI8uquHGoTJ69krXVkmBDSydSIoFJs2ZE8S26Xt4DQ-&\
vads_card_number=497010XXXXXX0000")  
        return request
    def create_mock_request(self):
        request = Mock()
        request.POST = QueryDict("vads_validation_mode=0&vads_cust_cell_phone=&vads_threeds_error_code=&\
vads_auth_number=171970&vads_site_id=99878789&vads_cust_id=&vads_ctx_mode=TEST&vads_language=fr&\
vads_payment_config=SINGLE&vads_ship_to_name=&vads_threeds_cavv=Q2F2dkNhdnZDYXZ2Q2F2dkNhdnY%3D&vads_extra_result=&\
vads_version=V2&vads_cust_country=&vads_cust_city=&vads_auth_mode=FULL&vads_trans_id=550758&vads_contrib=&\
vads_threeds_xid=dkNBQURpbHluUHMzbHdqSnRsSnc%3D&vads_card_country=FR&vads_cust_phone=&vads_order_info=&\
vads_cust_address=&vads_ship_to_phone_num=&vads_currency=978&vads_page_action=PAYMENT&vads_cust_name=&\
vads_sequence_number=1&vads_order_info2=&vads_order_info3=&\
vads_payment_certificate=f59522596f05f1b18e878f586ea31b4809832969&vads_threeds_enrolled=Y&\
vads_trans_date=20121122151746&vads_url_check_src=PAY&vads_warranty_result=YES&vads_auth_result=00&\
vads_payment_src=EC&vads_threeds_exit_status=10&vads_cust_zip=&vads_card_brand=CB&vads_pays_ip=FR&\
vads_capture_delay=0&vads_ship_to_street=&vads_ship_to_state=&vads_cust_email=&vads_contract_used=5830136&\
vads_action_mode=INTERACTIVE&vads_ship_to_street2=&vads_user_info=&vads_threeds_status=Y&vads_amount=1904&\
vads_order_id=100368&vads_ship_to_zip=&vads_ship_to_country=&vads_threeds_eci=05&vads_cust_state=&\
vads_threeds_sign_valid=1&vads_expiry_year=2013&vads_effective_amount=1904&vads_expiry_month=6&\
vads_threeds_cavvAlgorithm=2&vads_result=00&vads_operation_type=DEBIT&vads_cust_title=&\
signature=33f7eb8ca557cf862c72261da4e602f9c903afc2&vads_trans_status=AUTHORISED&\
vads_theme_config=&vads_ship_to_city=&vads_hash=rcI8uquHGoTJ69krXVkmBDSydSIoFJs2ZE8S26Xt4DQ-&\
vads_card_number=497010XXXXXX0000")  
        return request
Пример #30
0
    def test_no_accounts_recieved(self, mock_render_to_response, mock_get_user_info):
        responses.reset()
        responses.add(
            responses.GET,
            "https://app.vssps.visualstudio.com/_apis/accounts",
            json={"value": [], "count": 0},
            status=200,
        )

        view = AccountConfigView()
        request = Mock()
        request.POST = {}
        request.user = self.user

        pipeline = Mock()
        pipeline.fetch_state = lambda key: {"data": {"access_token": "1234567890"}}
        pipeline.organization = self.organization

        view.dispatch(request, pipeline)
        assert mock_get_user_info.called is True
        assert mock_render_to_response.called is True
        assert mock_render_to_response.call_args[1]["context"] == {"no_accounts": True}
Пример #31
0
Файл: utils.py Проект: somnam/xo
    def test_StoneUpdate_AddValidStone_AddsStone(self):

        # Mock request
        request      = Mock(); 
        request.user = User.objects.get(pk=1)
        request.POST = { 'row': 0, 'col': 2 }

        # Get game board
        game_id = 1
        board   = Board.objects.get(pk=game_id)

        # Store count of placed stones
        latest_stones_count = board.get_placed_stones().count()

        # Add new stone to board
        go.utils.stone_update(request, game_id)

        # Compare stones count
        self.assertEqual(
            board.get_placed_stones().count(),
            (latest_stones_count+1)
        )
Пример #32
0
Файл: utils.py Проект: somnam/xo
    def test_StoneUpdate_DeleteInvalidStone_FormSaveFails(self):

        # Mock request
        request      = Mock(); 
        request.user = User.objects.get(pk=1)
        request.POST = { 'row': 1, 'col': 1, 'action': 'del' }

        # Get game board
        game_id = 1
        board   = Board.objects.get(pk=game_id)

        # Store count of placed stones
        latest_stones_count = board.get_placed_stones().count()

        # Remove stone from board
        go.utils.stone_update(request, game_id)

        # Compare stones count
        self.assertEqual(
            board.get_placed_stones().count(),
            latest_stones_count
        )
Пример #33
0
    def test_configure_extension_saving(self):
        """Testing configure_extension with saving settings"""
        class TestSettingsForm(SettingsForm):
            mykey = forms.CharField(max_length=100)

        self.extension.is_configurable = True
        self.spy_on(self.manager.get_enabled_extension,
                    call_fake=lambda *args: self.extension)

        request = Mock()
        request.path = '/config'
        request.method = 'POST'
        request.META = {
            'CSRF_COOKIE': 'abc123',
        }
        request.POST = {
            'mykey': 'myvalue',
        }
        request.FILES = {}

        configure_extension(request, TestExtensionWithRegistration,
                            TestSettingsForm, self.manager)

        self.assertEqual(self.extension.settings.get('mykey'), 'myvalue')
Пример #34
0
    def test_configure_extension_saving(self):
        """Testing configure_extension with saving settings"""
        class TestSettingsForm(SettingsForm):
            mykey = forms.CharField(max_length=100)

        self.extension.is_configurable = True
        self.spy_on(self.manager.get_enabled_extension,
                    call_fake=lambda *args: self.extension)

        request = Mock()
        request.path = '/config'
        request.method = 'POST'
        request.META = {
            'CSRF_COOKIE': 'abc123',
        }
        request.POST = {
            'mykey': 'myvalue',
        }
        request.FILES = {}

        configure_extension(request, TestExtensionWithRegistration,
                            TestSettingsForm, self.manager)

        self.assertEqual(self.extension.settings.get('mykey'), 'myvalue')