def test_is_submission_allowed_pass(self, incr_mock): checker = utils.UploadRestrictionChecker(self.request) assert checker.is_submission_allowed() assert incr_mock.call_count == 1 assert incr_mock.call_args_list[0][0] == ( 'devhub.is_submission_allowed.success', ) assert not UserRestrictionHistory.objects.exists()
def test_user_is_allowed_to_bypass_restrictions(self, incr_mock): IPNetworkUserRestriction.objects.create(network='10.0.0.0/24') self.request.user.update(bypass_upload_restrictions=True) checker = utils.UploadRestrictionChecker(self.request) assert checker.is_submission_allowed() assert not UserRestrictionHistory.objects.exists() assert incr_mock.call_count == 0
def test_is_submission_allowed_ip_restricted(self): IPNetworkUserRestriction.objects.create(network='127.0.0.0/24') checker = utils.UploadRestrictionChecker(self.request) assert not checker.is_submission_allowed() assert checker.get_error_message() == ( 'Multiple add-ons violating our policies have been submitted ' 'from your location. The IP address has been blocked.')
def test_is_submission_allowed_email_restricted(self): EmailUserRestriction.objects.create( email_pattern=self.request.user.email) checker = utils.UploadRestrictionChecker(self.request) assert not checker.is_submission_allowed() assert checker.get_error_message() == ( 'The email address you used for your developer account is not ' 'allowed for add-on submission.')
def test_is_submission_allowed_bypassing_read_dev_agreement( self, incr_mock): self.request.user.update(read_dev_agreement=None) checker = utils.UploadRestrictionChecker(self.request) assert checker.is_submission_allowed(check_dev_agreement=False) assert incr_mock.call_count == 1 assert incr_mock.call_args_list[0][0] == ( 'devhub.is_submission_allowed.success', ) assert not UserRestrictionHistory.objects.exists()
def test_is_submission_allowed_hasnt_read_agreement(self): self.request.user.update(read_dev_agreement=None) checker = utils.UploadRestrictionChecker(self.request) assert not checker.is_submission_allowed() assert checker.get_error_message() == ( 'Before starting, please read and accept our Firefox Add-on ' 'Distribution Agreement as well as our Review Policies and Rules. ' 'The Firefox Add-on Distribution Agreement also links to our ' 'Privacy Notice which explains how we handle your information.')
def test_is_submission_allowed_ip_restricted(self, incr_mock): IPNetworkUserRestriction.objects.create(network='10.0.0.0/24') checker = utils.UploadRestrictionChecker(self.request) assert not checker.is_submission_allowed() assert checker.get_error_message() == ( 'Multiple add-ons violating our policies have been submitted ' 'from your location. The IP address has been blocked.') assert incr_mock.call_count == 2 assert incr_mock.call_args_list[0][0] == ( 'devhub.is_submission_allowed.IPNetworkUserRestriction.failure', ) assert incr_mock.call_args_list[1][0] == ( 'devhub.is_submission_allowed.failure', ) assert UserRestrictionHistory.objects.count() == 1 history = UserRestrictionHistory.objects.get() assert history.get_restriction_display() == 'IPNetworkUserRestriction' assert history.user == self.request.user assert history.last_login_ip == self.request.user.last_login_ip assert history.ip_address == '10.0.0.1'
def test_is_submission_allowed_email_restricted(self, incr_mock): EmailUserRestriction.objects.create( email_pattern=self.request.user.email) checker = utils.UploadRestrictionChecker(self.request) assert not checker.is_submission_allowed() assert checker.get_error_message() == ( 'The email address used for your account is not ' 'allowed for add-on submission.') assert incr_mock.call_count == 2 assert incr_mock.call_args_list[0][0] == ( 'devhub.is_submission_allowed.EmailUserRestriction.failure', ) assert incr_mock.call_args_list[1][0] == ( 'devhub.is_submission_allowed.failure', ) assert UserRestrictionHistory.objects.count() == 1 history = UserRestrictionHistory.objects.get() assert history.get_restriction_display() == 'EmailUserRestriction' assert history.user == self.request.user assert history.last_login_ip == self.request.user.last_login_ip assert history.ip_address == '10.0.0.1'
def test_is_submission_allowed_hasnt_read_agreement(self, incr_mock): self.request.user.update(read_dev_agreement=None) checker = utils.UploadRestrictionChecker(self.request) assert not checker.is_submission_allowed() assert checker.get_error_message() == ( 'Before starting, please read and accept our Firefox Add-on ' 'Distribution Agreement as well as our Review Policies and Rules. ' 'The Firefox Add-on Distribution Agreement also links to our ' 'Privacy Notice which explains how we handle your information.') assert incr_mock.call_count == 2 assert incr_mock.call_args_list[0][0] == ( 'devhub.is_submission_allowed.DeveloperAgreementRestriction' '.failure', ) assert incr_mock.call_args_list[1][0] == ( 'devhub.is_submission_allowed.failure', ) assert UserRestrictionHistory.objects.count() == 1 history = UserRestrictionHistory.objects.get() assert history.get_restriction_display() == ( 'DeveloperAgreementRestriction') assert history.user == self.request.user assert history.last_login_ip == self.request.user.last_login_ip assert history.ip_address == '10.0.0.1'
def test_is_submission_allowed_bypassing_read_dev_agreement(self): self.request.user.update(read_dev_agreement=None) checker = utils.UploadRestrictionChecker(self.request) assert checker.is_submission_allowed(check_dev_agreement=False)
def test_is_submission_allowed_pass(self): checker = utils.UploadRestrictionChecker(self.request) assert checker.is_submission_allowed()