0001-base-expand-description-list-fields-on-display-48731.patch
passerelle/apps/ovh/models.py | ||
---|---|---|
77 | 77 |
verbose_name=_('Message class')) |
78 | 78 |
credit_threshold_alert = models.PositiveIntegerField(verbose_name=_('Credit alert threshold'), |
79 | 79 |
default=500) |
80 | 80 |
credit_left = models.PositiveIntegerField(verbose_name=_('Credit left'), default=0, editable=False) |
81 | 81 |
alert_emails = ArrayField( |
82 | 82 |
models.EmailField(blank=True), |
83 | 83 |
blank=True, |
84 | 84 |
null=True, |
85 |
verbose_name=_('Email addresses to send credit alerts to'),
|
|
85 |
verbose_name=_('Email addresses list to send credit alerts to, separated by comma'),
|
|
86 | 86 |
) |
87 | 87 |
credit_alert_timestamp = models.DateTimeField(null=True, editable=False) |
88 | 88 | |
89 | 89 |
TEST_DEFAULTS = { |
90 | 90 |
'create_kwargs': { |
91 | 91 |
'account': '1234', |
92 | 92 |
'username': 'john', |
93 | 93 |
'password': 'doe', |
passerelle/base/models.py | ||
---|---|---|
266 | 266 |
continue |
267 | 267 |
if hasattr(self, 'get_%s_display' % field.name): |
268 | 268 |
value = getattr(self, 'get_%s_display' % field.name)() |
269 | 269 |
else: |
270 | 270 |
value = getattr(self, field.name, None) |
271 | 271 |
if isinstance(field, models.URLField) and value: |
272 | 272 |
# hide http authentication part |
273 | 273 |
value = re.sub(r'://([^/]*:[^/]*?)@', '://***:***@', value) |
274 |
elif isinstance(value, list): |
|
275 |
value = ', '.join(value) |
|
274 | 276 |
fields.append((field, value)) |
275 | 277 |
return fields |
276 | 278 | |
277 | 279 |
def get_endpoints_infos(self): |
278 | 280 |
endpoints = [] |
279 | 281 |
for name, method in inspect.getmembers(self, predicate=inspect.ismethod): |
280 | 282 |
if hasattr(method, 'endpoint_info'): |
281 | 283 |
method.endpoint_info.object = self |
tests/test_sms.py | ||
---|---|---|
121 | 121 |
def test_manage_views_ovh(app, connector): |
122 | 122 |
connector.default_country_code = '44' |
123 | 123 |
connector.account = 'secret' |
124 | 124 |
connector.application_key = 'secret' |
125 | 125 |
connector.application_secret = 'secret' |
126 | 126 |
connector.consumer_key = 'secret' |
127 | 127 |
connector.password = 'secret' |
128 | 128 |
connector.username = 'secret' |
129 |
connector.alert_emails = ['test@entrouvert.org', 'foo@example.com'] |
|
129 | 130 |
connector.save() |
130 | 131 |
url = '/%s/%s/' % (connector.get_connector_slug(), connector.slug) |
131 | 132 |
resp = app.get(url) |
132 | 133 |
description_fields = [ |
133 | 134 |
x.text for x in resp.html.find('div', {'id': 'description'}).find_all('p')] |
134 | 135 |
assert any(x for x in description_fields if 'Default country code' in x) |
135 | 136 |
assert any(x for x in description_fields if '44' in x) |
136 | 137 |
assert not any(x for x in description_fields if 'secret' in x) |
138 |
alert_emails_filed = [x for x in description_fields if 'send credit alerts to' in x] |
|
139 |
assert alert_emails_filed[0].split(':')[1].strip() == 'test@entrouvert.org, foo@example.com' |
|
137 | 140 | |
138 | 141 | |
139 | 142 |
@pytest.mark.parametrize('connector', [OVHSMSGateway], indirect=True) |
140 | 143 |
def test_sms_max_message_length(app, connector): |
141 | 144 |
path = '/%s/%s/send/' % (connector.get_connector_slug(), connector.slug) |
142 | 145 | |
143 | 146 |
message_above_limit = 'a' * (connector.max_message_length + 1) |
144 | 147 |
payload = { |
145 |
- |