Ejemplo n.º 1
0
 def test_delete_missing_single_user(token, self):
     create_test_user()  # ensure there are records
     with self.client:
         response = self.client.delete(
             'people/people/09',
             content_type='application/json',
             headers={'Authorization': f'Bearer {token}'}
         )
         data = json.loads(response.data.decode())
         self.assertEqual(response.status_code, 404)
         self.assertIn('The requested URL was not found on the server.',
                       data['message'])
Ejemplo n.º 2
0
    def setUp(self):
        #set up the owner. cred means all the username, password
        self.owner = create_test_user('*****@*****.**')
        self.project = Project.objects.create(name='Project_Test',
                                              desc='',
                                              owner_id=self.owner.id)

        #set up builder1 and builder 2
        self.builder1 = create_test_user('*****@*****.**')
        self.builder2 = create_test_user('*****@*****.**')

        #builder 1 and 2 will apply to the same project
        self.project.waitlist.add(self.builder1)
        self.project.waitlist.add(self.builder2)

        #login as the owner
        self.client = Client()
Ejemplo n.º 3
0
    def setUp(self):
        #set up the owner. cred means all the username, password      
        self.owner = create_test_user('*****@*****.**')
        self.project = Project.objects.create(name='Project_Test',
                                              desc='',
                                              owner_id=self.owner.id)

        #set up builder1 and builder 2
        self.builder1 = create_test_user('*****@*****.**')
        self.builder2 = create_test_user('*****@*****.**')

        #builder 1 and 2 will apply to the same project
        self.project.waitlist.add(self.builder1)
        self.project.waitlist.add(self.builder2)

        #login as the owner
        self.client = Client()
Ejemplo n.º 4
0
 def test_edit_missing_single_user(token, self):
     create_test_user()  # ensure there are records
     with self.client:
         response = self.client.put(
             '/people/people/09',
             data=json.dumps({
                 'firstname': 'Bob',
                 'lastname': 'Holmes',
                 'address': '77 Verulam Road'
             }),
             content_type='application/json',
             headers={'Authorization': f'Bearer {token}'}
         )
         data = json.loads(response.data.decode())
         self.assertEqual(response.status_code, 404)
         self.assertIn('The requested URL was not found on the server.',
                       data['message'])
Ejemplo n.º 5
0
 def test_get_single_user(self):
     person = create_test_user()
     with self.client:
         response = self.client.get(
             '/people/people/'+str(person.id),
             data=json.dumps({}),
             content_type='application/json'
         )
         data = json.loads(response.data.decode())
         self.assertEqual(response.status_code, 200)
         self.assertIn(person.username, data['username'])
         self.assertIn(person.firstname, data['firstname'])
         self.assertIn(person.lastname, data['lastname'])
Ejemplo n.º 6
0
 def test_edit_existing_single_user(token, self):
     person = create_test_user()
     with self.client:
         response = self.client.put(
             '/people/people/'+str(person.id),
             data=json.dumps({'firstname': 'Steve'}),
             content_type='application/json',
             headers={'Authorization': f'Bearer {token}'}
         )
         data = json.loads(response.data.decode())
         self.assertEqual(response.status_code, 200)
         self.assertIn('Steve', data['firstname'])
         self.assertIn(person.lastname, data['lastname'])
Ejemplo n.º 7
0
 def test_add_skill_to_person(token, self):
     person = create_test_user()
     skill = create_test_skill()
     with self.client:
         response = self.client.put(
             '/people/people/'+str(person.id),
             data = json.dumps({'skills':[str(skill.id)]}),
             content_type='application/json',
             headers={'Authorization': f'Bearer {token}'}
         )
         data = json.loads(response.data.decode())
         self.assertEqual(response.status_code,200)
         self.assertEqual(len(data['skills']), 1)
         self.assertEqual(data['skills'][0],str(skill.id))
Ejemplo n.º 8
0
 def test_delete_single_user(token, self):
     person = create_test_user()
     with self.client:
         response = self.client.delete(
             'people/people/'+str(person.id),
             content_type='application/json',
             headers={'Authorization': f'Bearer {token}'}
         )
         # data = json.loads(response.data.decode())
         self.assertEqual(response.status_code, 200)
         response = self.client.get(
             'people/people/'+str(person.id),
             content_type='application/json'
         )
         self.assertEqual(response.status_code, 404)
Ejemplo n.º 9
0
 def test_edit_existing_single_user_invalid_data(token, self):
     person = create_test_user()
     with self.client:
         response = self.client.put(
             '/people/people/'+str(person.id),
             data=json.dumps({'foo': 'bar'}),
             content_type='application/json',
             headers={'Authorization': f'Bearer {token}'}
         )
         data = json.loads(response.data.decode())
         self.assertEqual(response.status_code, 200)
         self.assertIn(person.username, data['username'])
         self.assertIn(person.firstname, data['firstname'])
         self.assertIn(person.lastname, data['lastname'])
         #self.assertIn(person.address, data['address'])
         self.assertFalse('foo' in data.keys())
Ejemplo n.º 10
0
    def test_apply_project(self):
        c = Client()
        builder = create_test_user('*****@*****.**')
        l = c.login(username=builder.username, password=builder.username)

        r = c.post(reverse('project_apply'), {'project_id':self.project.id})

        #test if the builder should appear in the builder list of the project
        self.assertEqual(len(self.project.waitlist.filter(id=builder.id)), 1)
        
        application = Application.objects.filter(project__id=self.project.id, 
                                                 builder__id=builder.id)
        #test for application recorded
        self.assertEqual(len(application),1)
        
        #test for correct pending status
        self.assertEqual(application[0].status, 0)

        r = c.post(reverse('project_apply'), {'project_id':self.project.id})
        #test if the builder apply to the same project again, it means unapply
        self.assertEqual(len(self.project.waitlist.filter(id=builder.id)), 0)
Ejemplo n.º 11
0
    def test_apply_project(self):
        c = Client()
        builder = create_test_user('*****@*****.**')
        l = c.login(username=builder.username, password=builder.username)

        r = c.post(reverse('project_apply'), {'project_id': self.project.id})

        #test if the builder should appear in the builder list of the project
        self.assertEqual(len(self.project.waitlist.filter(id=builder.id)), 1)

        application = Application.objects.filter(project__id=self.project.id,
                                                 builder__id=builder.id)
        #test for application recorded
        self.assertEqual(len(application), 1)

        #test for correct pending status
        self.assertEqual(application[0].status, 0)

        r = c.post(reverse('project_apply'), {'project_id': self.project.id})
        #test if the builder apply to the same project again, it means unapply
        self.assertEqual(len(self.project.waitlist.filter(id=builder.id)), 0)
Ejemplo n.º 12
0
 def test_decode_auth_token(self):
     empty_database()
     user = create_test_user()
     auth_token = user.encode_auth_token(user.username)
     self.assertTrue(isinstance(auth_token, bytes))
Ejemplo n.º 13
0
 def test_passwords_are_random(self):
     user_one = create_test_user(username="******",
                                 password='******')
     user_two = create_test_user(username="******",
                                 password='******')
     self.assertNotEqual(user_one.password, user_two.password)
Ejemplo n.º 14
0
 def test_add_user_duplicate_username(self):
     with self.assertRaises(NotUniqueError):
         create_test_user()
Ejemplo n.º 15
0
 def setUp(self):
     self.builder2 = create_test_user('*****@*****.**')
     self.project = Project.objects.create(name='Project_Test',
                                           desc='',
                                           owner_id=self.builder2.id)
Ejemplo n.º 16
0
 def test_add_person(self):
     person = create_test_user()
     self.assertTrue(person.id)
     self.assertTrue(person.active)
     self.assertTrue(person.password)
     self.assertFalse(person.admin)
Ejemplo n.º 17
0
 def setUp(self):
     self.builder2 = create_test_user('*****@*****.**')
     self.project = Project.objects.create(name='Project_Test',
                                           desc='',
                                           owner_id=self.builder2.id)
Ejemplo n.º 18
0
 def setUp(self):
     self.owner = create_test_user('*****@*****.**')
     self.builder1 = create_test_user('*****@*****.**')
     self.builder2 = create_test_user('*****@*****.**')
     pass
Ejemplo n.º 19
0
 def setUp(self):
     self.owner = create_test_user('*****@*****.**')
     self.builder1 = create_test_user('*****@*****.**')
     self.builder2 = create_test_user('*****@*****.**')
     pass