Exemple #1
0
    def setUpClass(cls):
        super(GraphsTestCase, cls).setUpClass()
        cls.factory = RequestFactory()

        Request(path="/admin/", ip="127.0.0.1").save()
        Request(path="/admin/", ip="127.0.0.1").save()
        Request(path="/admin/login/", ip="127.0.0.1").save()

        staff_user = User.objects.create_user(username="******", password="******")
        staff_user.is_staff = True
        staff_user.save()
        cls.staff_user = staff_user

        cls.coordinator = EditorFactory(user__email="*****@*****.**").user
        coordinators = get_coordinators()
        coordinators.user_set.add(cls.coordinator)

        user = UserFactory()
        cls.user = user

        cls.partner = PartnerFactory()

        cls.app = ApplicationFactory(partner=cls.partner)
        cls.app.status = Application.APPROVED
        cls.app.save()

        cls.dashboard_url = reverse("dashboard")
 def test_browser_detection_with_no_path(self):
     request = Request(
         user_agent=
         'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0'
     )
     self.assertEqual(request.browser, 'Firefox')
     request = Request(
         user_agent=
         'Mozilla/5.0 (compatible; MSIE 9.0; America Online Browser 1.1; Windows NT 5.0)'
     )
     self.assertEqual(request.browser, 'AOL')
Exemple #3
0
    def setUpClass(cls):
        super(GraphsTestCase, cls).setUpClass()
        cls.factory = RequestFactory()

        Request(path='/admin/', ip='127.0.0.1').save()
        Request(path='/admin/', ip='127.0.0.1').save()
        Request(path='/admin/login/', ip='127.0.0.1').save()

        user = User.objects.create_user(username='******', password='******')
        user.is_staff = True
        user.save()
        cls.staff_user = user
Exemple #4
0
    def test_from_http_request_with_user(self):
        http_request = self.factory.get('/')
        http_request.user = get_user_model().objects.create(username='******')

        request = Request()
        request.from_http_request(http_request, commit=False)
        self.assertEqual(request.user.id, http_request.user.id)
    def process_response(self, request, response):
        if request.method.lower() not in settings.REQUEST_VALID_METHOD_NAMES:
            return response

        if response.status_code < 400 and settings.REQUEST_ONLY_ERRORS:
            return response

        ignore = patterns(False, *settings.REQUEST_IGNORE_PATHS)
        if ignore.resolve(request.path[1:]):
            return response

        if request.is_ajax() and settings.REQUEST_IGNORE_AJAX:
            return response

        if get_remote_addr(request) in settings.REQUEST_IGNORE_IP:
            return response

        if getattr(request, 'user', False):
            if request.user.username in settings.REQUEST_IGNORE_USERNAME:
                return response

        r = Request()
        r.from_http_request(request, response)

        return response
Exemple #6
0
    def process_response(self, request, response):
        if request.method.lower() not in settings.VALID_METHOD_NAMES:
            return response

        if response.status_code < 400 and settings.ONLY_ERRORS:
            return response

        ignore = patterns(False, *settings.IGNORE_PATHS)
        if ignore.resolve(request.path[1:]):
            return response

        if request.is_ajax() and settings.IGNORE_AJAX:
            return response

        if request.META.get('REMOTE_ADDR') in settings.IGNORE_IP:
            return response

        ignore = patterns(False, *settings.IGNORE_USER_AGENTS)
        if ignore.resolve(request.META.get('HTTP_USER_AGENT', '')):
            return response

        if getattr(request, 'user', False):
            if request.user.username in settings.IGNORE_USERNAME:
                return response

        r = Request()
        r.from_http_request(request, response)

        return response
    def test_from_http_request_not_commit(self):
        http_request = HttpRequest()
        http_request.method = 'GET'

        request = Request()
        request.from_http_request(http_request, commit=False)
        self.assertIsNone(request.id)
    def test_from_http_request_with_user(self):
        http_request = HttpRequest()
        http_request.method = 'GET'
        http_request.user = get_user_model().objects.create(username='******')

        request = Request()
        request.from_http_request(http_request, commit=False)
        self.assertEqual(request.user.id, http_request.user.id)
Exemple #9
0
    def setUp(self):
        self.user = self.create_user('*****@*****.**', 'foo-foo')
        self.client.login(email='*****@*****.**', password='******')

        self.sample = create_sample(self._get_random_name())
        self.request = Request(user=self.user)
        self.request.save()
        self.request.samples.add(self.sample)
    def test_from_http_request_with_user(self):
        http_request = HttpRequest()
        http_request.method = 'GET'
        http_request.user = User.objects.create(username='******')

        request = Request()
        request.from_http_request(http_request)
        self.assertEqual(request.user.id, http_request.user.id)
    def test_from_http_request_redirection(self):
        http_request = HttpRequest()
        http_request.method = 'GET'
        http_response = HttpResponse(status=301)
        http_response['Location'] = '/foo'

        request = Request()
        request.from_http_request(http_request, http_response)
        self.assertEqual(request.redirect, '/foo')
Exemple #12
0
    def test_from_http_request_redirection(self):
        http_request = self.factory.get('/')

        http_response = HttpResponse(status=301)
        http_response['Location'] = '/foo'

        request = Request()
        request.from_http_request(http_request, http_response, commit=False)
        self.assertEqual(request.redirect, '/foo')
Exemple #13
0
    def setUp(self):
        user = User.objects.create_user(
            email='*****@*****.**',
            password='******',
            is_staff=True,
        )
        user.save()

        self.request = Request(user=user)
        self.request.save()
Exemple #14
0
def create_library_preparation_obj(sample_name, user, sample_status):
    sample = create_sample(sample_name, status=sample_status)
    sample.save()

    request = Request(user=user)
    request.save()
    request.samples.add(sample)

    pool = create_pool(user)
    pool.samples.add(sample)

    return LibraryPreparation.objects.get(sample=sample)
Exemple #15
0
def create_interview(request):
    positions = PositionAll.objects.all()
    existing_order = get_user_pending_order(request)
    cart_amount = ''
    if existing_order!=0:
        cart_amount = existing_order.items.all().count()
    else:
        return redirect(reverse('candidate_cart:order_summary'))
    if request.method == 'POST':
        request_id = generate_request_id()
        request_title = request.POST.get('request_title')

        date_interview = request.POST.get('date_interview')
        note_interview = request.POST.get('note_interview')

        request_position_id = request.POST.get('request_position')
        request_position_other = request.POST.get('request_position_other_name')
        print(request_position_id,"||||||||||",request_position_other)
        request_position = get_object_or_404(PositionAll, position_id=request_position_id)

        user_profile = get_object_or_404(Profile, user=request.user)
        user_order = Order.objects.get(owner=user_profile, is_ordered=False)

        status = get_object_or_404(Status, status_id='1')
        request_type = get_object_or_404(RequestType, request_type_id='2')

        existing_order = get_user_pending_order(request)
        if existing_order!=0:
            request_interview = RequestInterview(order = user_order,date_interview = date_interview,note_interview =note_interview)
            request_interview.save()

            request_detail = Request(request_id=request_id,request_type=request_type,request_interview=request_interview,request_title=request_title,request_position=request_position,request_position_other=request_position_other,owner=user_profile,status=status)
            request_detail.save()

            # context = {
            #     'order': existing_order,
            #     'Cart_amount': cart_amount,
            # }
            #
            # return render(request, 'create-interview.html', context)
            return redirect(reverse('candidate_cart:update_interview',
                        kwargs={
                            'order_id': user_order.ref_code
                        })
                    )

    context = {
        'Positions' : positions,
        'order': existing_order,
        'Cart_amount': cart_amount,
    }

    return render(request, 'create-interview.html', context)
Exemple #16
0
    def setUpClass(cls):
        super(GraphsTestCase, cls).setUpClass()
        cls.factory = RequestFactory()

        Request(path='/admin/', ip='127.0.0.1').save()
        Request(path='/admin/', ip='127.0.0.1').save()
        Request(path='/admin/login/', ip='127.0.0.1').save()

        staff_user = User.objects.create_user(username='******', password='******')
        staff_user.is_staff = True
        staff_user.save()
        cls.staff_user = staff_user

        user = UserFactory()
        cls.user = user

        cls.partner = PartnerFactory()

        cls.app = ApplicationFactory(partner=cls.partner)
        cls.app.status = Application.APPROVED
        cls.app.save()

        cls.dashboard_url = reverse('dashboard')
 def create_test_client_and_request(self):
     client = Client(name="client A")
     data = [
         Request(title=f'title {index+1}',
                 description=f'description {index+1}',
                 client_id=1,
                 priority=index + 1,
                 target_date=date(2018, 11, 6),
                 product=product)
         for index, product in enumerate(ProductEnum)
     ]
     data.append(client)
     db.session.add_all(data)
     db.session.commit()
Exemple #18
0
    def setUp(self):
        user = self.create_user()
        self.create_user('*****@*****.**', 'test', False)  # non-staff user

        # Submission completed
        self.library1 = create_library(self._get_random_name(), status=1)
        self.sample1 = create_sample(self._get_random_name(), status=1)
        self.sample2 = create_sample(self._get_random_name(), status=1)

        # Failed library
        self.library2 = create_library(self._get_random_name(), status=-1)

        self.request = Request(user=user)
        self.request.save()
        self.request.libraries.add(*[self.library1, self.library2])
        self.request.samples.add(*[self.sample1, self.sample2])
Exemple #19
0
    def setUp(self):
        user = User.objects.create_user(
            email='*****@*****.**',
            password='******',
            is_staff=self._is_staff,
        )
        user.save()

        library = Library.get_test_library('Library')
        sample = Sample.get_test_sample('Sample')
        library.save()
        sample.save()

        self.request = Request(user=user)
        self.request.save()
        self.request.libraries.add(library)
        self.request.samples.add(sample)
Exemple #20
0
def create_pooling_object(user,
                          save=True,
                          add_library=False,
                          add_sample=False,
                          sample_failed=False):
    library = None
    sample = None

    if add_library:
        library = create_library(get_random_name(), 2)

    if add_sample:
        sample = create_sample(get_random_name(), 2)

    pool = create_pool(user)

    request = Request(user=user)
    request.save()

    if library:
        request.libraries.add(library)
        pool.libraries.add(library)
        pooling_object = Pooling.objects.get(library=library)

    if sample:
        request.samples.add(sample)
        pool.samples.add(sample)

        # Update the sample instance because after being added to the pool,
        # it was modified
        sample = sample.__class__.objects.get(pk=sample.pk)

        if sample_failed:
            sample.status = -1  # failed quality check
            sample.save()
            pooling_object = sample

        else:
            sample.status = 3  # passed quality check
            sample.save()
            pooling_object = Pooling.objects.get(sample=sample)

    if save:
        pooling_object.save()

    return pooling_object
Exemple #21
0
    def test_multiple_sample_contains_invalid(self):
        """
        Ensure get multiple samples containing invalid ids behaves correctly.
        """
        sample = create_sample(get_random_name())

        request = Request(user=self.user)
        request.save()
        request.samples.add(sample)

        response = self.client.get(reverse('samples-list'), {
            'request_id': request.pk,
            'ids': json.dumps([sample.pk, 'blah'])
        })
        data = response.json()
        self.assertEqual(response.status_code, 400)
        self.assertFalse(data['success'])
        self.assertEqual(data['message'], 'Invalid payload.')
Exemple #22
0
    def test_from_http_request(self):
        http_request = self.factory.patch(
            '/kylef',
            REMOTE_ADDR='32.64.128.16',
            HTTP_USER_AGENT='test user agent',
            HTTP_REFERER='https://fuller.li/',
        )

        http_response = HttpResponse(status=204)

        request = Request()
        request.from_http_request(http_request, http_response, commit=False)

        self.assertEqual(request.path, '/kylef')
        self.assertEqual(request.method, 'PATCH')
        self.assertEqual(request.ip, '32.64.128.16')
        self.assertEqual(request.response, 204)
        self.assertEqual(request.user_agent, 'test user agent')
        self.assertEqual(request.referer, 'https://fuller.li/')
    def test_from_http_request(self):
        http_request = HttpRequest()
        http_request.method = 'PATCH'
        http_request.path = '/kylef'
        http_request.META['REMOTE_ADDR'] = '32.64.128.16'
        http_request.META['HTTP_USER_AGENT'] = 'test user agent'
        http_request.META['HTTP_REFERER'] = 'https://fuller.li/'

        http_response = HttpResponse(status=204)

        request = Request()
        request.from_http_request(http_request, http_response, commit=False)

        self.assertEqual(request.path, '/kylef')
        self.assertEqual(request.method, 'PATCH')
        self.assertEqual(request.ip, '32.64.128.16')
        self.assertEqual(request.response, 204)
        self.assertEqual(request.user_agent, 'test user agent')
        self.assertEqual(request.referer, 'https://fuller.li/')
Exemple #24
0
    def test_multiple_samples(self):
        """ Ensure get multiple samples behaves correctly. """
        sample1 = create_sample(get_random_name())
        sample2 = create_sample(get_random_name())
        sample3 = create_sample(get_random_name())

        request = Request(user=self.user)
        request.save()
        request.samples.add(*[sample1.pk, sample2.pk, sample3.pk])

        response = self.client.get(reverse('samples-list'), {
            'request_id': request.pk,
            'ids': json.dumps([sample1.pk, sample2.pk])
        })
        data = response.json()
        self.assertEqual(response.status_code, 200)
        self.assertTrue(data['success'])
        samples = [x['name'] for x in data['data']]
        self.assertIn(sample1.name, samples)
        self.assertIn(sample2.name, samples)
        self.assertNotIn(sample3.name, samples)
Exemple #25
0
    def test_multiple_libraries(self):
        """ Ensure get multiple libraries behaves correctly. """
        library1 = create_library(get_random_name())
        library2 = create_library(get_random_name())
        library3 = create_library(get_random_name())

        request = Request(user=self.user)
        request.save()
        request.libraries.add(*[library1.pk, library2.pk, library3.pk])

        response = self.client.get(
            reverse('libraries-list'), {
                'request_id': request.pk,
                'ids': json.dumps([library1.pk, library2.pk])
            })
        data = response.json()
        self.assertEqual(response.status_code, 200)
        self.assertTrue(data['success'])
        libraries = [x['name'] for x in data['data']]
        self.assertIn(library1.name, libraries)
        self.assertIn(library2.name, libraries)
        self.assertNotIn(library3.name, libraries)
Exemple #26
0
    def setUp(self):
        user = User.objects.create_user(email='*****@*****.**', password='******')
        pool = Pool(name='_Foo', user=user)
        pool.save()

        library_1 = Library.get_test_library('Library1')
        library_2 = Library.get_test_library('Library2')
        library_1.save()
        library_2.save()

        sample_1 = Sample.get_test_sample('Sample1')
        sample_2 = Sample.get_test_sample('Sample2')
        sample_1.save()
        sample_2.save()

        pool.libraries.add(library_1)
        pool.samples.add(sample_1)

        self.request = Request(user=user)
        self.request.save()
        self.request.libraries.add(*[library_1, library_2])
        self.request.samples.add(*[sample_1, sample_2])
def create_request(request):
    # authenticate
    if not check_logged_in(request):
        return redirect('access_denied')

    # get user
    user = User.objects.get(id=request.session.get("user_id"))

    # handle new requests
    if request.method == 'GET':
        context = {
            'group_id': user.group.name,
            'tags': [x.name for x in Tag.objects.all()],
        }
        return render(request, "request/create_request.html", context)

    if request.method == 'POST':
        try:
            new_request = Request(
                status=request.POST.get("requestStatus", None),
                title=request.POST.get("request-title", None),
                request_message=request.POST.get("request-message", None),
                requester=user,
                group=user.group,
                response_message=request.POST.get("response-message", None),
            )
            new_request.clean()
            new_request.save()
            new_tags = [Tag.objects.get(name=tag_name) for tag_name in request.POST.getlist("details-tags", None)]
            new_request.tags.set(new_tags)
            return redirect('dashboard')
        except ValidationError as error:
            context = {
                'group_id': user.group.name,
                'tags': [x.name for x in Tag.objects.all()],
                'error_message': error.message
            }
            return render(request, "request/create_request.html", context)
 def test_save(self):
     request = Request(ip='1.2.3.4')
     request.save()
 def test_hostname_invalid(self, *mocks):
     request = Request(ip='1.2.3.4')
     self.assertEqual(request.hostname, request.ip)
 def test_hostname(self, *mocks):
     request = Request(ip='1.2.3.4')
     self.assertEqual(request.hostname, 'foo.net')