def test_with_hosting_service_with_hosting_bug_tracker(self): """Testing RepositoryForm with hosting service's bug tracker""" account = HostingServiceAccount.objects.create(username='******', service_name='test') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'test', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'testrepo', 'bug_tracker_use_hosting': True, 'bug_tracker_type': 'googlecode', }) form.validate_repository = False self.assertTrue(form.is_valid()) repository = form.save() self.assertTrue(repository.extra_data['bug_tracker_use_hosting']) self.assertEqual(repository.bug_tracker, 'http://example.com/testuser/testrepo/issue/%s') self.assertNotIn('bug_tracker_type', repository.extra_data) self.assertFalse('bug_tracker-test_repo_name' in repository.extra_data) self.assertFalse( 'bug_tracker-hosting_account_username' in repository.extra_data)
def test_with_hosting_service_with_hosting_bug_tracker(self): """Testing RepositoryForm with hosting service's bug tracker""" account = HostingServiceAccount.objects.create(username='******', service_name='test') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'test', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'testrepo', 'bug_tracker_use_hosting': True, 'bug_tracker_type': 'googlecode', }) form.validate_repository = False self.assertTrue(form.is_valid()) repository = form.save() self.assertTrue(repository.extra_data['bug_tracker_use_hosting']) self.assertEqual(repository.bug_tracker, 'http://example.com/testuser/testrepo/issue/%s') self.assertNotIn('bug_tracker_type', repository.extra_data) self.assertFalse('bug_tracker-test_repo_name' in repository.extra_data) self.assertFalse('bug_tracker-hosting_account_username' in repository.extra_data)
def test_with_hosting_service_self_hosted_bug_tracker_service(self): """Testing RepositoryForm with a self-hosted bug tracker service""" account = HostingServiceAccount.objects.create( username='******', service_name='self_hosted_test', hosting_url='https://example.com') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'hosting_url': 'https://example.com', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'testrepo', 'bug_tracker_type': 'self_hosted_test', 'bug_tracker_hosting_url': 'https://example.com', 'bug_tracker-test_repo_name': 'testrepo', }) form.validate_repository = False self.assertTrue(form.is_valid()) repository = form.save() self.assertFalse(repository.extra_data['bug_tracker_use_hosting']) self.assertEqual(repository.bug_tracker, 'https://example.com/testrepo/issue/%s') self.assertEqual(repository.extra_data['bug_tracker_type'], 'self_hosted_test') self.assertEqual(repository.extra_data['bug_tracker-test_repo_name'], 'testrepo') self.assertEqual(repository.extra_data['bug_tracker_hosting_url'], 'https://example.com')
def test_with_hosting_service_self_hosted_and_existing_account(self): """Testing RepositoryForm with a self-hosted hosting service and existing account """ account = HostingServiceAccount.objects.create( username='******', service_name='self_hosted_test', hosting_url='https://example.com') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'self_hosted_test-hosting_url': 'https://example.com', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'myrepo', 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertTrue(form.is_valid()) self.assertFalse(form.hosting_account_linked) repository = form.save() self.assertEqual(repository.name, 'test') self.assertEqual(repository.hosting_account, account) self.assertEqual(repository.extra_data['hosting_url'], 'https://example.com')
def test_with_hosting_service_self_hosted_and_existing_account(self): """Testing RepositoryForm with a self-hosted hosting service and existing account """ account = HostingServiceAccount.objects.create( username='******', service_name='self_hosted_test', hosting_url='https://example.com') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'self_hosted_test-hosting_url': 'https://example.com', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'myrepo', 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertTrue(form.is_valid()) self.assertFalse(form.hosting_account_linked) repository = form.save() self.assertEqual(repository.name, 'test') self.assertEqual(repository.hosting_account, account) self.assertEqual(repository.extra_data['hosting_url'], 'https://example.com')
def test_with_hosting_service_self_hosted_and_blank_url(self): """Testing RepositoryForm with a self-hosted hosting service and blank URL """ form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'self_hosted_test-hosting_url': '', 'self_hosted_test-hosting_account_username': '******', 'self_hosted_test-hosting_account_password': '******', 'test_repo_name': 'myrepo', 'tool': self.git_tool_id, 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertFalse(form.is_valid()) self.assertFalse(form.hosting_account_linked)
def test_with_hosting_service_self_hosted_and_blank_url(self): """Testing RepositoryForm with a self-hosted hosting service and blank URL """ form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'self_hosted_test-hosting_url': '', 'self_hosted_test-hosting_account_username': '******', 'self_hosted_test-hosting_account_password': '******', 'test_repo_name': 'myrepo', 'tool': self.git_tool_id, 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertFalse(form.is_valid()) self.assertFalse(form.hosting_account_linked)
def test_with_self_hosted_and_invalid_account_service(self): """Testing RepositoryForm with a self-hosted hosting service and invalid existing account due to mismatched service type """ account = HostingServiceAccount.objects.create( username='******', service_name='self_hosted_test', hosting_url='https://example1.com') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'test', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'myrepo', 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertFalse(form.is_valid()) self.assertFalse(form.hosting_account_linked)
def test_with_self_hosted_and_invalid_account_service(self): """Testing RepositoryForm with a self-hosted hosting service and invalid existing account due to mismatched service type """ account = HostingServiceAccount.objects.create( username='******', service_name='self_hosted_test', hosting_url='https://example1.com') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'test', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'myrepo', 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertFalse(form.is_valid()) self.assertFalse(form.hosting_account_linked)
def test_with_hosting_service_self_hosted_and_new_account(self): """Testing RepositoryForm with a self-hosted hosting service and new account """ form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'self_hosted_test-hosting_url': 'https://myserver.com', 'self_hosted_test-hosting_account_username': '******', 'self_hosted_test-hosting_account_password': '******', 'test_repo_name': 'myrepo', 'tool': self.git_tool_id, 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertTrue(form.is_valid()) self.assertTrue(form.hosting_account_linked) repository = form.save() self.assertEqual(repository.name, 'test') self.assertEqual(repository.hosting_account.hosting_url, 'https://myserver.com') self.assertEqual(repository.hosting_account.username, 'testuser') self.assertEqual(repository.hosting_account.service_name, 'self_hosted_test') self.assertEqual(repository.hosting_account.local_site, None) self.assertEqual(repository.extra_data['test_repo_name'], 'myrepo') self.assertEqual(repository.extra_data['hosting_url'], 'https://myserver.com') self.assertEqual(repository.path, 'https://myserver.com/myrepo/') self.assertEqual(repository.mirror_path, '[email protected]:myrepo/') # Make sure none of the other auth forms are unhappy. That would be # an indicator that we're doing form processing and validation wrong. for auth_form in six.itervalues(form.hosting_auth_forms): self.assertEqual(auth_form.errors, {})
def test_with_hosting_service_self_hosted_and_new_account(self): """Testing RepositoryForm with a self-hosted hosting service and new account """ form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'self_hosted_test-hosting_url': 'https://myserver.com', 'self_hosted_test-hosting_account_username': '******', 'self_hosted_test-hosting_account_password': '******', 'test_repo_name': 'myrepo', 'tool': self.git_tool_id, 'bug_tracker_type': 'none', }) form.validate_repository = False self.assertTrue(form.is_valid()) self.assertTrue(form.hosting_account_linked) repository = form.save() self.assertEqual(repository.name, 'test') self.assertEqual(repository.hosting_account.hosting_url, 'https://myserver.com') self.assertEqual(repository.hosting_account.username, 'testuser') self.assertEqual(repository.hosting_account.service_name, 'self_hosted_test') self.assertEqual(repository.hosting_account.local_site, None) self.assertEqual(repository.extra_data['test_repo_name'], 'myrepo') self.assertEqual(repository.extra_data['hosting_url'], 'https://myserver.com') self.assertEqual(repository.path, 'https://myserver.com/myrepo/') self.assertEqual(repository.mirror_path, '[email protected]:myrepo/') # Make sure none of the other auth forms are unhappy. That would be # an indicator that we're doing form processing and validation wrong. for auth_form in six.itervalues(form.hosting_auth_forms): self.assertEqual(auth_form.errors, {})
def test_with_hosting_service_self_hosted_bug_tracker_service(self): """Testing RepositoryForm with a self-hosted bug tracker service""" account = HostingServiceAccount.objects.create( username='******', service_name='self_hosted_test', hosting_url='https://example.com') account.data['password'] = '******' account.save() form = RepositoryForm({ 'name': 'test', 'hosting_type': 'self_hosted_test', 'hosting_url': 'https://example.com', 'hosting_account': account.pk, 'tool': self.git_tool_id, 'test_repo_name': 'testrepo', 'bug_tracker_type': 'self_hosted_test', 'bug_tracker_hosting_url': 'https://example.com', 'bug_tracker-test_repo_name': 'testrepo', }) form.validate_repository = False self.assertTrue(form.is_valid()) repository = form.save() self.assertFalse(repository.extra_data['bug_tracker_use_hosting']) self.assertEqual(repository.bug_tracker, 'https://example.com/testrepo/issue/%s') self.assertEqual(repository.extra_data['bug_tracker_type'], 'self_hosted_test') self.assertEqual( repository.extra_data['bug_tracker-test_repo_name'], 'testrepo') self.assertEqual( repository.extra_data['bug_tracker_hosting_url'], 'https://example.com')