def test_validation_on_digit_fields(): number = vm_helper.find_available_number() url = confd.voicemails(number=number, name="test", context=config.CONTEXT).post for check in digit_field_checks(url): yield check with fixtures.voicemail() as voicemail: url = confd.voicemails(voicemail['id']).put for check in digit_field_checks(url): yield check
def test_delete_voicemail_deletes_on_disk(voicemail, sysconfd): response = confd.voicemails(voicemail["id"]).delete() response.assert_ok() sysconfd.assert_request( "/delete_voicemail", query={"mailbox": voicemail["number"], "context": voicemail["context"]} )
def test_delete_voicemail_deletes_on_disk(voicemail, sysconfd): response = confd.voicemails(voicemail['id']).delete() response.assert_deleted() sysconfd.assert_request('/delete_voicemail', query={'mailbox': voicemail['number'], 'context': voicemail['context']})
def test_update_fields_with_null_value(voicemail): number, context = vm_helper.generate_number_and_context() response = confd.voicemails.post(name='nullfields', number=number, context=context, password='******', email='*****@*****.**', pager='*****@*****.**', language='en_US', timezone='eu-fr', max_messages=10, attach_audio=True) url = confd.voicemails(response.item['id']) response = url.put(password=None, email=None, pager=None, language=None, timezone=None, max_messages=None, attach_audio=None) response.assert_updated() response = url.get() assert_that(response.item, has_entries({'password': None, 'email': None, 'language': None, 'timezone': None, 'max_messages': None, 'attach_audio': None}))
def test_fake_fields(voicemail): requests = (confd.voicemails.post, confd.voicemails(voicemail["id"]).put) for (field, value, error_field) in FAKE: for request in requests: fields = _generate_fields() fields[field] = value response = request(fields) yield response.assert_match, 400, e.not_found(error_field)
def test_fake_fields(voicemail): requests = (confd.voicemails.post, confd.voicemails(voicemail['id']).put) for (field, value, error_field) in FAKE: for request in requests: fields = _generate_fields() fields[field] = value response = request(fields) yield response.assert_match, 400, e.not_found(error_field)
def test_get_multiple_users_associated_to_voicemail(user1, user2, voicemail): expected = has_items( has_entries({'user_id': user1['id'], 'voicemail_id': voicemail['id']}), has_entries({'user_id': user2['id'], 'voicemail_id': voicemail['id']})) with user_and_voicemail_associated(user1, voicemail), \ user_and_voicemail_associated(user2, voicemail): response = confd.voicemails(voicemail['id']).users.get() assert_that(response.items, expected)
def test_edit_number_and_context_moves_voicemail(voicemail, sysconfd): number, context = vm_helper.new_number_and_context('vmctxmove') response = confd.voicemails(voicemail['id']).put(number=number, context=context) response.assert_updated() sysconfd.assert_request('/move_voicemail', query={'old_mailbox': voicemail['number'], 'old_context': voicemail['context'], 'new_mailbox': number, 'new_context': context})
def test_edit_number_and_context_moves_voicemail(voicemail, sysconfd): number, context = vm_helper.new_number_and_context("vmctxmove") response = confd.voicemails(voicemail["id"]).put(number=number, context=context) response.assert_ok() sysconfd.assert_request( "/move_voicemail", query={ "old_mailbox": voicemail["number"], "old_context": voicemail["context"], "new_mailbox": number, "new_context": context, }, )
def test_get_multiple_users_associated_to_voicemail(user1, user2, voicemail): expected = has_items( has_entries({ 'user_id': user1['id'], 'voicemail_id': voicemail['id'] }), has_entries({ 'user_id': user2['id'], 'voicemail_id': voicemail['id'] })) with a.user_voicemail(user1, voicemail), a.user_voicemail(user2, voicemail): response = confd.voicemails(voicemail['id']).users.get() assert_that(response.items, expected)
def test_edit_voicemail(voicemail): number, context = vm_helper.new_number_and_context("vmctxedit") parameters = { "name": "edited", "number": number, "context": context, "email": "*****@*****.**", "pager": "*****@*****.**", "language": "en_US", "timezone": "eu-fr", "password": "******", "max_messages": 10, "attach_audio": True, "ask_password": False, "delete_messages": True, "enabled": False, "options": [["saycid", "yes"], ["emailbody", "this\nis\ra\temail|body"]], } expected = has_entries( { "name": "edited", "number": number, "context": context, "email": "*****@*****.**", "pager": "*****@*****.**", "language": "en_US", "timezone": "eu-fr", "password": "******", "max_messages": 10, "attach_audio": True, "ask_password": False, "delete_messages": True, "enabled": False, "options": has_items(["saycid", "yes"], ["emailbody", "this\nis\ra\temail|body"]), } ) url = confd.voicemails(voicemail["id"]) response = url.put(parameters) response.assert_ok() response = url.get() assert_that(response.item, expected)
def test_edit_voicemail(voicemail): number, context = vm_helper.new_number_and_context('vmctxedit') parameters = {'name': 'edited', 'number': number, 'context': context, 'email': '*****@*****.**', 'pager': '*****@*****.**', 'language': 'en_US', 'timezone': 'eu-fr', 'password': '******', 'max_messages': 10, 'attach_audio': True, 'ask_password': False, 'delete_messages': True, 'enabled': False, 'options': [["saycid", "yes"], ["emailbody", "this\nis\ra\temail|body"]]} expected = has_entries({'name': 'edited', 'number': number, 'context': context, 'email': '*****@*****.**', 'pager': '*****@*****.**', 'language': 'en_US', 'timezone': 'eu-fr', 'password': '******', 'max_messages': 10, 'attach_audio': True, 'ask_password': False, 'delete_messages': True, 'enabled': False, 'options': has_items(["saycid", "yes"], ["emailbody", "this\nis\ra\temail|body"]) }) url = confd.voicemails(voicemail['id']) response = url.put(parameters) response.assert_updated() response = url.get() assert_that(response.item, expected)
def test_update_fields_with_null_value(voicemail): number, context = vm_helper.generate_number_and_context() response = confd.voicemails.post( name="nullfields", number=number, context=context, password="******", email="*****@*****.**", pager="*****@*****.**", language="en_US", timezone="eu-fr", max_messages=10, attach_audio=True, ) url = confd.voicemails(response.item["id"]) response = url.put( password=None, email=None, pager=None, language=None, timezone=None, max_messages=None, attach_audio=None ) response.assert_ok() response = url.get() assert_that( response.item, has_entries( { "password": None, "email": None, "language": None, "timezone": None, "max_messages": None, "attach_audio": None, } ), )
def test_edit_voicemail_when_still_associated(user, voicemail): number = h.voicemail.find_available_number(voicemail['context']) with user_and_voicemail_associated(user, voicemail): response = confd.voicemails(voicemail['id']).put(number=number) response.assert_ok()
def test_delete_voicemail(voicemail): response = confd.voicemails(voicemail['id']).delete() response.assert_deleted()
def test_delete_voicemail_when_still_associated(user, voicemail): with a.user_voicemail(user, voicemail): response = confd.voicemails(voicemail['id']).delete() response.assert_match(400, e.resource_associated('Voicemail', 'User'))
def test_get_users_associated_to_voicemail_when_voicemail_does_not_exist(): response = confd.voicemails(FAKE_ID).users.get() response.assert_match(404, e.not_found('Voicemail'))
def test_edit_voicemail_when_still_associated(user, voicemail): number = h.voicemail.find_available_number(voicemail['context']) with a.user_voicemail(user, voicemail): response = confd.voicemails(voicemail['id']).put(number=number) response.assert_updated()
def test_edit_voicemail_with_same_number_and_context(first_voicemail, second_voicemail): response = confd.voicemails(first_voicemail['id']).put(number=second_voicemail['number'], context=second_voicemail['context']) response.assert_match(400, e.resource_exists('Voicemail'))
def test_get_voicemail(voicemail): response = confd.voicemails(voicemail['id']).get() assert_that(response.item, has_entries(voicemail))
def test_get_voicemail(voicemail): response = confd.voicemails(voicemail["id"]).get() assert_that(response.item, has_entries(voicemail))
def test_edit_voicemail_with_same_number_and_context(first_voicemail, second_voicemail): response = confd.voicemails(first_voicemail["id"]).put( number=second_voicemail["number"], context=second_voicemail["context"] ) response.assert_match(400, e.resource_exists("Voicemail"))
def delete_voicemail(voicemail_id, check=False): response = confd.voicemails(voicemail_id).delete() if check: response.assert_ok()
def test_delete_voicemail(voicemail): response = confd.voicemails(voicemail["id"]).delete() response.assert_ok()
def test_delete_voicemail_when_still_associated(user, voicemail): with user_and_voicemail_associated(user, voicemail): response = confd.voicemails(voicemail['id']).delete() response.assert_match(400, e.resource_associated('Voicemail', 'User'))