blob: c2bb412bcbeba226d7063070c3faf8034e30be92 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
from django.core.exceptions import ValidationError
from django.test import TestCase
from ..validators import validate_tag_embed
REQUIRED_KEYS = (
'content', 'fields', 'image', 'title', 'video'
)
class TagEmbedValidatorTests(TestCase):
def test_rejects_missing_required_keys(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'unknown': "key"
})
def test_rejects_empty_required_key(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': ''
})
def test_rejects_list_as_embed(self):
with self.assertRaises(ValidationError):
validate_tag_embed([])
def test_rejects_required_keys_and_unknown_keys(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': "the duck walked up to the lemonade stand",
'and': "he said to the man running the stand"
})
def test_rejects_too_long_title(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': 'a' * 257
})
def test_rejects_too_many_fields(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'fields': [{} for _ in range(26)]
})
def test_rejects_too_long_description(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'description': 'd' * 2049
})
def test_rejects_fields_as_list_of_non_mappings(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'fields': ['abc']
})
def test_rejects_fields_with_unknown_fields(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'fields': [
{
'what': "is this field"
}
]
})
def test_rejects_fields_with_too_long_name(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'fields': [
{
'name': "a" * 257
}
]
})
def test_rejects_footer_as_non_mapping(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': "whatever",
'footer': []
})
def test_rejects_footer_with_unknown_fields(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': "whatever",
'footer': {
'duck': "quack"
}
})
def test_rejects_footer_with_empty_text(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': "whatever",
'footer': {
'text': ""
}
})
def test_rejects_author_as_non_mapping(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': "whatever",
'author': []
})
def test_rejects_author_with_unknown_field(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': "whatever",
'author': {
'field': "that is unknown"
}
})
def test_rejects_author_with_empty_name(self):
with self.assertRaises(ValidationError):
validate_tag_embed({
'title': "whatever",
'author': {
'name': ""
}
})
|