def test_image(self): ''' Django doesn't validate image field, so it's just smoke test ''' qs = AllFieldsModel.objects.filter(image=BindParam('image')).prepare() qs.execute(image='image.png')
def test_minute_lookup(self): minute = 5 qs = Author.objects.filter(created_at__minute=BindParam('minute')).prepare() result = list(Author.objects.filter(created_at__minute=minute)) self.assertListEqual(qs.execute(minute=minute), result)
def test_date_lookup(self): d = date(year=2015, month=5, day=5) qs = Author.objects.filter(created_at__date=BindParam('date')).prepare() result = list(Author.objects.filter(created_at__date=d)) self.assertListEqual(qs.execute(date=d), result)
def test_month_lookup(self): month = 5 qs = Author.objects.filter(created_at__month=BindParam('month')).prepare() result = list(Author.objects.filter(created_at__month=month)) self.assertListEqual(qs.execute(month=month), result)
def test_icontains_lookup(self): name_part = 'Tlana' qs = Author.objects.filter(name__icontains=BindParam('name')).prepare() result = list(Author.objects.filter(name__icontains=name_part)) self.assertListEqual(qs.execute(name=name_part), result)
def test_range_lookup(self): start = 52 end = 53 qs = Author.objects.filter(age__range=(BindParam('start'), BindParam('end'))).prepare() result = list(Author.objects.filter(age__range=(start, end))) self.assertListEqual(qs.execute(start=start, end=end), result)
def test_big_auto(self): qs = BigAutoModel.objects.filter(id=BindParam('id')).prepare() qs.execute(id=1) qs.execute(id='1') with self.assertRaises(ValidationError): qs.execute(id='text')
def test_isnull_lookup(self): with self.assertRaises(NotSupportedLookup): Author.objects.filter(id__isnull=BindParam('null')).prepare()
def test_url(self): qs = AllFieldsModel.objects.filter(url=BindParam('url')).prepare() qs.execute(url='https://google.com') with self.assertRaises(ValidationError): qs.execute(url='not url')
def test_uuid(): ''' Django doesn't validate uuid field, so it's just smoke test ''' qs = AllFieldsModel.objects.filter(uuid=BindParam('uuid')).prepare() qs.execute(uuid=UUID('12345678123456781234567812345678'))
def test_time(self): qs = AllFieldsModel.objects.filter(time=BindParam('time')).prepare() qs.execute(time=time()) qs.execute(time='14:20') with self.assertRaises(ValidationError): qs.execute(time='not time')
def test_text(): ''' Django doesn't validate text field, so it's just smoke test ''' qs = AllFieldsModel.objects.filter(text=BindParam('text')).prepare() qs.execute(text='text')
def test_slug(): ''' Django doesn't validate slug field, so it's just smoke test ''' qs = AllFieldsModel.objects.filter(slug=BindParam('slug')).prepare() qs.execute(slug='why-do-some-websites-add-slugs-to-the-end-of-urls')
def test_second_lookup(self): second = 5 qs = Author.objects.filter(created_at__second=BindParam('second')).prepare() result = list(Author.objects.filter(created_at__second=second)) self.assertListEqual(qs.execute(second=second), result)
def test_boolean(self): qs = AllFieldsModel.objects.filter( boolean=BindParam('boolean')).prepare() qs.execute(boolean=True) with self.assertRaises(ValidationError): qs.execute(boolean='true')
def test_iregex_lookup(self): regex = r'^Svet.+Alex.+' qs = Author.objects.filter(name__iregex=BindParam('regex')).prepare() result = list(Author.objects.filter(name__iregex=regex)) self.assertListEqual(qs.execute(regex=regex), result)
def test_char(self): qs = AllFieldsModel.objects.filter(char=BindParam('char')).prepare() qs.execute(char='123') qs.execute(char=123) with self.assertRaises(ValidationError): qs.execute(char='1234567890') # max_length validation
def test_iexact_lookup(self): name = 'Svetlana Alexievich' qs = Author.objects.filter(name__iexact=BindParam('name')).prepare() result = list(Author.objects.filter(name__iexact=name)) self.assertListEqual(qs.execute(name=name), result)
def test_file(self): ''' Django doesn't validate file field, so it's just smoke test ''' qs = AllFieldsModel.objects.filter(file=BindParam('file')).prepare() qs.execute(file='file.txt')
def test_iendswith_lookup(self): name = 'Vich' qs = Author.objects.filter(name__iendswith=BindParam('name')).prepare() result = list(Author.objects.filter(name__iendswith=name)) self.assertListEqual(qs.execute(name=name), result)
def test_week_lookup(self): week = 1 qs = Author.objects.filter(created_at__week=BindParam('week')).prepare() result = list(Author.objects.filter(created_at__week=week)) self.assertListEqual(qs.execute(week=week), result)
def test_lte_lookup(self): qs = Author.objects.filter(age__lte=BindParam('age')).prepare() result = list(Author.objects.filter(age__lte=52)) self.assertListEqual(qs.execute(age=52), result)
def test_time_lookup(self): t = time(5, 5) qs = Author.objects.filter(created_at__time=BindParam('time')).prepare() result = list(Author.objects.filter(created_at__time=t)) self.assertListEqual(qs.execute(time=t), result)
def test_year_lookup(self): year = 2015 qs = Author.objects.filter(created_at__year=BindParam('year')).prepare() result = list(Author.objects.filter(created_at__year=year)) self.assertListEqual(qs.execute(year=year), result)
def test_hour_lookup(self): hour = 5 qs = Author.objects.filter(created_at__hour=BindParam('hour')).prepare() result = list(Author.objects.filter(created_at__hour=hour)) self.assertListEqual(qs.execute(hour=hour), result)
def test_day_lookup(self): day = 5 qs = Author.objects.filter(created_at__day=BindParam('day')).prepare() result = list(Author.objects.filter(created_at__day=day)) self.assertListEqual(qs.execute(day=day), result)
def test_auto_field(self): qs = AllFieldsModel.objects.filter(id=BindParam('id')).prepare() qs.execute(id=5) qs.execute(id='5') with self.assertRaises(ValidationError): qs.execute(id='text')