def test_updating_line_associated_with_autoprov_device_does_not_fail( line, sip, device): with a.line_endpoint_sip(line, sip, check=False): with db.queries() as queries: queries.associate_line_device(line['id'], device['id']) response = confd.lines(line['id']).put() response.assert_ok()
def new_switchboard(name=None): with db.queries() as queries: queue_name = name or 'sw_' + ''.join( random.choice(string.ascii_letters) for _ in range(10)) queue_number = extension.find_available_exten(config.CONTEXT) queue_id = queries.insert_queue(queue_name, queue_number) id = queries.insert_switchboard(queue_id) return {'id': str(id)}
def test_default_configuration(self): body = copy.deepcopy(MINIMAL_POST_BODY) response = confd.wizard.post(body) response.assert_ok() with db.queries() as queries: assert_that(queries.sip_has_language('en_US')) assert_that(queries.iax_has_language('en_US')) assert_that(queries.sccp_has_language('en_US')) assert_that(queries.context_has_internal('Default', body['context_internal']['number_start'], body['context_internal']['number_end'])) assert_that(queries.context_has_incall('Incalls')) assert_that(queries.context_has_outcall('Outcalls'))
def generate_switchboard_stat(time, end_type='abandoned', wait_time=1): switchboard = find_switchboard(name=SWITCHBOARD_STAT_QUEUE_NAME) if not switchboard: switchboard = new_switchboard(name=SWITCHBOARD_STAT_QUEUE_NAME) stat = { 'time': time, 'end_type': end_type, 'wait_time': wait_time, 'queue_id': switchboard['id'] } with db.queries() as queries: stat['id'] = queries.insert_switchboard_stat(**stat) return stat
def generate_context(**parameters): name = 'ctx_' + ''.join( random.choice(string.ascii_letters) for _ in range(10)) parameters.setdefault('name', name) parameters.setdefault('contexttype', 'internal') start = parameters.pop('start', None) end = parameters.pop('end', None) didlength = parameters.pop('didlength', 0) rangetype = parameters.pop('rangetype', 'user') with db.queries() as queries: id = queries.insert_context(**parameters) if start and end: queries.insert_context_range(id, rangetype, start, end, didlength) return {'name': id, 'id': id, 'type': parameters['contexttype']}
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 validate_db(self, data): with db.queries() as queries: assert_that(queries.admin_has_password(data['admin_password'])) assert_that(queries.autoprov_is_configured()) assert_that(queries.entity_has_name_displayname('testentity', data['entity_name'])) assert_that(queries.sip_has_language(data['language'])) assert_that(queries.iax_has_language(data['language'])) assert_that(queries.sccp_has_language(data['language'])) assert_that(queries.general_has_timezone(data['timezone'])) assert_that(queries.resolvconf_is_configured(data['network']['hostname'], data['network']['domain'], data['network']['nameservers'])) assert_that(queries.netiface_is_configured(data['network']['ip_address'], data['network']['gateway'])) assert_that(queries.context_has_internal(data['context_internal']['display_name'], data['context_internal']['number_start'], data['context_internal']['number_end'])) assert_that(queries.context_has_incall(data['context_incall']['display_name'], data['context_incall']['number_start'], data['context_incall']['number_end'], data['context_incall']['did_length'])) assert_that(queries.context_has_outcall(data['context_outcall']['display_name'])) assert_that(queries.context_has_switchboard()) assert_that(queries.internal_context_include_outcall_context())
def generate_name(): with db.queries() as queries: response = queries.get_entities() names = set(d['name'] for d in response) return _random_name(names)
def delete_entity(entity_id, check=False): with db.queries() as queries: queries.delete_entity(entity_id)
def add_entity(name): with db.queries() as queries: id = queries.insert_entity(name) return {'id': id, 'name': name}
def delete_context(context, check=False): with db.queries() as queries: queries.delete_context(context)
def delete_switchboard_stat(stat_id, check=False): with db.queries() as queries: queries.delete_switchboard_stat(stat_id)
def find_switchboard(name): with db.queries() as queries: return queries.find_queue(name)