Beispiel #1
0
 def test_mutable_copy(self):
     """A copy of a QueryDict is mutable."""
     q = QueryDict().copy()
     with self.assertRaises(KeyError):
         q.__getitem__("foo")
     q['name'] = 'john'
     self.assertEqual(q['name'], 'john')
Beispiel #2
0
 def test_mutable_copy(self):
     """A copy of a QueryDict is mutable."""
     q = QueryDict().copy()
     with self.assertRaises(KeyError):
         q.__getitem__("foo")
     q["name"] = "john"
     self.assertEqual(q["name"], "john")
Beispiel #3
0
 def test_mutable_copy(self):
     """A copy of a QueryDict is mutable."""
     q = QueryDict().copy()
     with self.assertRaises(KeyError):
         q.__getitem__("foo")
     q['name'] = 'john'
     self.assertEqual(q['name'], 'john')
Beispiel #4
0
 def test_mutable_copy(self):
     """A copy of a QueryDict is mutable."""
     q = QueryDict().copy()
     with self.assertRaises(KeyError):
         q.__getitem__("foo")
     q["name"] = "john"
     self.assertEqual(q["name"], "john")
Beispiel #5
0
def delete(request, username):
    if not is_auth(request):
        return HttpResponse("Operation not permitted", status=403)

    print("xnotesapp: Delete view.", username)
    if request.method == 'DELETE':
        data = QueryDict(request.body)
        note_id = data.__getitem__('note_id')
        hard_delete = data.__getitem__('hard') == 'true'
        # Convert to bool
        nm = NoteManager.NoteManager()
        print(note_id, hard_delete)
        nm.deleteNote(note_id, hard_delete=hard_delete)
        return redirect('home', username=username)
    return HttpResponse('Delete Note: ', username)
Beispiel #6
0
    def test_single_key_value(self):
        """Test QueryDict with one key/value pair"""

        q = QueryDict(str('foo=bar'))
        self.assertEqual(q['foo'], 'bar')
        with self.assertRaises(KeyError):
            q.__getitem__('bar')
        with self.assertRaises(AttributeError):
            q.__setitem__('something', 'bar')

        self.assertEqual(q.get('foo', 'default'), 'bar')
        self.assertEqual(q.get('bar', 'default'), 'default')
        self.assertEqual(q.getlist('foo'), ['bar'])
        self.assertEqual(q.getlist('bar'), [])

        with self.assertRaises(AttributeError):
            q.setlist('foo', ['bar'])
        with self.assertRaises(AttributeError):
            q.appendlist('foo', ['bar'])

        if six.PY2:
            self.assertTrue(q.has_key('foo'))
        self.assertIn('foo', q)
        if six.PY2:
            self.assertFalse(q.has_key('bar'))
        self.assertNotIn('bar', q)

        self.assertEqual(list(six.iteritems(q)), [('foo', 'bar')])
        self.assertEqual(list(six.iterlists(q)), [('foo', ['bar'])])
        self.assertEqual(list(six.iterkeys(q)), ['foo'])
        self.assertEqual(list(six.itervalues(q)), ['bar'])
        self.assertEqual(len(q), 1)

        with self.assertRaises(AttributeError):
            q.update({'foo': 'bar'})
        with self.assertRaises(AttributeError):
            q.pop('foo')
        with self.assertRaises(AttributeError):
            q.popitem()
        with self.assertRaises(AttributeError):
            q.clear()
        with self.assertRaises(AttributeError):
            q.setdefault('foo', 'bar')

        self.assertEqual(q.urlencode(), 'foo=bar')
Beispiel #7
0
    def test_single_key_value(self):
        """Test QueryDict with one key/value pair"""

        q = QueryDict(str('foo=bar'))
        self.assertEqual(q['foo'], 'bar')
        with self.assertRaises(KeyError):
            q.__getitem__('bar')
        with self.assertRaises(AttributeError):
            q.__setitem__('something', 'bar')

        self.assertEqual(q.get('foo', 'default'), 'bar')
        self.assertEqual(q.get('bar', 'default'), 'default')
        self.assertEqual(q.getlist('foo'), ['bar'])
        self.assertEqual(q.getlist('bar'), [])

        with self.assertRaises(AttributeError):
            q.setlist('foo', ['bar'])
        with self.assertRaises(AttributeError):
            q.appendlist('foo', ['bar'])

        if six.PY2:
            self.assertTrue(q.has_key('foo'))
        self.assertIn('foo', q)
        if six.PY2:
            self.assertFalse(q.has_key('bar'))
        self.assertNotIn('bar', q)

        self.assertEqual(list(six.iteritems(q)), [('foo', 'bar')])
        self.assertEqual(list(six.iterlists(q)), [('foo', ['bar'])])
        self.assertEqual(list(six.iterkeys(q)), ['foo'])
        self.assertEqual(list(six.itervalues(q)), ['bar'])
        self.assertEqual(len(q), 1)

        with self.assertRaises(AttributeError):
            q.update({'foo': 'bar'})
        with self.assertRaises(AttributeError):
            q.pop('foo')
        with self.assertRaises(AttributeError):
            q.popitem()
        with self.assertRaises(AttributeError):
            q.clear()
        with self.assertRaises(AttributeError):
            q.setdefault('foo', 'bar')

        self.assertEqual(q.urlencode(), 'foo=bar')
Beispiel #8
0
    def test_single_key_value(self):
        """Test QueryDict with one key/value pair"""

        q = QueryDict(str("foo=bar"))
        self.assertEqual(q["foo"], "bar")
        with self.assertRaises(KeyError):
            q.__getitem__("bar")
        with self.assertRaises(AttributeError):
            q.__setitem__("something", "bar")

        self.assertEqual(q.get("foo", "default"), "bar")
        self.assertEqual(q.get("bar", "default"), "default")
        self.assertEqual(q.getlist("foo"), ["bar"])
        self.assertEqual(q.getlist("bar"), [])

        with self.assertRaises(AttributeError):
            q.setlist("foo", ["bar"])
        with self.assertRaises(AttributeError):
            q.appendlist("foo", ["bar"])

        if six.PY2:
            self.assertTrue(q.has_key("foo"))
        self.assertIn("foo", q)
        if six.PY2:
            self.assertFalse(q.has_key("bar"))
        self.assertNotIn("bar", q)

        self.assertEqual(list(six.iteritems(q)), [("foo", "bar")])
        self.assertEqual(list(six.iterlists(q)), [("foo", ["bar"])])
        self.assertEqual(list(six.iterkeys(q)), ["foo"])
        self.assertEqual(list(six.itervalues(q)), ["bar"])
        self.assertEqual(len(q), 1)

        with self.assertRaises(AttributeError):
            q.update({"foo": "bar"})
        with self.assertRaises(AttributeError):
            q.pop("foo")
        with self.assertRaises(AttributeError):
            q.popitem()
        with self.assertRaises(AttributeError):
            q.clear()
        with self.assertRaises(AttributeError):
            q.setdefault("foo", "bar")

        self.assertEqual(q.urlencode(), "foo=bar")
Beispiel #9
0
    def test_single_key_value(self):
        """Test QueryDict with one key/value pair"""

        q = QueryDict("foo=bar")
        self.assertEqual(q["foo"], "bar")
        with self.assertRaises(KeyError):
            q.__getitem__("bar")
        with self.assertRaises(AttributeError):
            q.__setitem__("something", "bar")

        self.assertEqual(q.get("foo", "default"), "bar")
        self.assertEqual(q.get("bar", "default"), "default")
        self.assertEqual(q.getlist("foo"), ["bar"])
        self.assertEqual(q.getlist("bar"), [])

        with self.assertRaises(AttributeError):
            q.setlist("foo", ["bar"])
        with self.assertRaises(AttributeError):
            q.appendlist("foo", ["bar"])

        self.assertIn("foo", q)
        self.assertNotIn("bar", q)

        self.assertEqual(list(q), ["foo"])
        self.assertEqual(list(q.items()), [("foo", "bar")])
        self.assertEqual(list(q.lists()), [("foo", ["bar"])])
        self.assertEqual(list(q.keys()), ["foo"])
        self.assertEqual(list(q.values()), ["bar"])
        self.assertEqual(len(q), 1)

        with self.assertRaises(AttributeError):
            q.update({"foo": "bar"})
        with self.assertRaises(AttributeError):
            q.pop("foo")
        with self.assertRaises(AttributeError):
            q.popitem()
        with self.assertRaises(AttributeError):
            q.clear()
        with self.assertRaises(AttributeError):
            q.setdefault("foo", "bar")

        self.assertEqual(q.urlencode(), "foo=bar")
    def put(self, request, id):
        putParam = QueryDict(request.body)
        print(putParam)
        h = putParam.__getitem__('headline')
        s = putParam.__getitem__('subheading')
        d = putParam.__getitem__('date')
        id = putParam.__getitem__('id')

        article = Article.objects.get(pk=id)
        article.headline = h
        article.subheading = s
        article.date = d
        article.save()

        return JsonResponse(
            {
                'edited': 'OK',
                'headline': h,
                'subheading': s,
                'date': d,
                'id': id
            },
            status=200)
        """editForm = ArticleForm(request.POST)
Beispiel #11
0
    def patch(self, request, *args, **kwargs):
        data_dict = request.data
        mutable_query_dict = QueryDict(mutable=True)
        mutable_query_dict.update(data_dict)
        mutable_query_dict.__setitem__('user_id', request.user.id)

        instance = self.get_object()

        if 'custom_search_view' in mutable_query_dict.keys():
            custom_search_query_fe = mutable_query_dict.__getitem__(
                'custom_search_view')
            custom_search_query = fe_to_be_url(custom_search_query_fe)

            query_hash_digest = hashlib.sha256(
                custom_search_query.encode('utf-8')).hexdigest()

            try:
                result_hash_length = get_query_result_hash_and_length(
                    custom_search_query)
                result_hash = result_hash_length['hash']
            except Exception as e:
                Response('The query submitted is not valid',
                         status=status.HTTP_422_UNPROCESSABLE_ENTITY)

            if u.CustomSearch.objects.filter(
                    query_string_hash_digest=query_hash_digest).exists():
                custom_search = u.CustomSearch.objects.get(
                    query_string_hash_digest=query_hash_digest)
            else:
                custom_search = u.CustomSearch(
                    frontend_url=custom_search_query_fe,
                    query_string=custom_search_query,
                    result_hash_digest=result_hash)
                custom_search.save()
            mutable_query_dict.__setitem__('custom_search_view',
                                           custom_search.id)
            mutable_query_dict.__setitem__('last_notified_hash',
                                           custom_search.result_hash_digest)
            mutable_query_dict.__setitem__('last_number_of_results',
                                           result_hash_length['length'])

        serializer = self.get_serializer(instance, data=mutable_query_dict)
        serializer.is_valid(raise_exception=True)
        serializer.save()

        return Response(serializer.data, status=status.HTTP_200_OK)
Beispiel #12
0
 def test_missing_key(self):
     q = QueryDict()
     with self.assertRaises(KeyError):
         q.__getitem__('foo')
Beispiel #13
0
 def test_missing_key(self):
     q = QueryDict()
     with self.assertRaises(KeyError):
         q.__getitem__('foo')