def test_given_extension_associated_to_sccp_line_when_updated_then_cid_num_updated( user, line, sccp, extension): exten = h.extension.find_available_exten(config.CONTEXT) with a.line_endpoint_sccp(line, sccp), a.line_extension( line, extension), a.user_line(user, line): confd.extensions(extension['id']).put(exten=exten).assert_updated() response = confd.lines(line['id']).get() assert_that(response.item, has_entries(caller_id_num=exten))
def test_get(extension): response = confd.extensions(extension['id']).get() assert_that( response.item, has_entries(exten=extension['exten'], context=extension['context'], commented=False))
def test_update_required_parameters(extension, context): exten = h.extension.find_available_exten(context['name']) url = confd.extensions(extension['id']) response = url.put(exten=exten, context=context['name']) response.assert_updated() assert_that(url.get().item, has_entries(exten=exten, context=context['name']))
def test_get_extension_from_line(line, extension): expected = has_entries({ 'line_id': line['id'], 'extension_id': extension['id'] }) with a.line_extension(line, extension): response = confd.extensions(extension['id']).line.get() assert_that(response.item, expected)
def test_when_extension_updated_on_sip_line_then_provd_is_updated( user, line, sip, extension, device): exten = h.extension.find_available_exten(config.CONTEXT) line_cid = h.extension.find_available_exten(config.CONTEXT, exclude=[exten]) with a.line_endpoint_sip(line, sip), a.user_line(user, line), \ a.line_extension(line, extension), a.line_device(line, device): response = confd.extensions(extension['id']).put(exten=exten) response.assert_updated() response = confd.lines(line['id']).put(caller_id_num=line_cid) response.assert_updated() provd_config = provd.configs.get(device['id']) sip_line = provd_config['raw_config']['sip_lines']['1'] assert_that(sip_line, has_entries(number=exten))
def test_updating_user_line_or_extension_associated_with_autoprov_device_does_not_fail( user, line, sip, extension, device): with a.line_endpoint_sip(line, sip, check=False), a.line_extension(line, extension, check=False), \ a.user_line(user, line, check=False): with db.queries() as queries: queries.associate_line_device(line['id'], device['id']) response = confd.endpoints.sip(sip['id']).put() response.assert_ok() response = confd.lines(line['id']).put() response.assert_ok() response = confd.users(user['id']).put() response.assert_ok() response = confd.extensions(extension['id']).put() response.assert_ok()
def test_edit_extension_outside_context_range(extension): response = confd.extensions(extension['id']).put(exten='999999999', context='default') response.assert_match(400, outside_range_regex)
def test_put_errors(extension): url = confd.extensions(extension['id'], exten=extension['exten'], context=extension['context']).put for check in error_checks(url): yield check
def test_delete_errors(extension): url = confd.extensions(extension['id']) url.delete() yield s.check_resource_not_found, url.get, 'Extension'
def test_alphanumeric_extension(): url = confd.extensions(context='default').post yield s.check_bogus_field_returns_error, url, 'exten', 'ABC123'
def test_get_errors(): url = confd.extensions(FAKE_ID).get yield s.check_resource_not_found, url, 'Extension'
def test_update_additional_parameters(extension1): url = confd.extensions(extension1['id']) url.put(commented=True).assert_updated() assert_that(url.get().item, has_entries(commented=True))
def test_delete(extension): response = confd.extensions(extension['id']).delete() response.assert_deleted()
def test_edit_extension_with_fake_context(extension): response = confd.extensions(extension['id']).put(exten='1234', context='fakecontext') response.assert_match(400, e.not_found('Context'))
def delete_extension(extension_id, check=False): response = confd.extensions(extension_id).delete() if check: response.assert_ok()
def test_get_line_from_incall_when_not_associated(line, incall): response = confd.extensions(incall['id']).line.get() response.assert_match(404, e.not_found('LineExtension'))
def test_delete_extension_associated_to_line(line, extension): with a.line_extension(line, extension): response = confd.extensions(extension['id']).delete() response.assert_match(400, e.resource_associated('Extension', 'Line'))
def test_get_line_from_fake_extension(): response = confd.extensions(FAKE_ID).line.get() response.assert_match(404, e.not_found('Extension'))