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')
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")
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)
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')
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")
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)
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)
def test_missing_key(self): q = QueryDict() with self.assertRaises(KeyError): q.__getitem__('foo')