def test_search_with_skip_and_limit(self): context = 'default' voicemail_row1 = VoicemailSchema(fullname='voicemail1', context=context, mailbox='1001') voicemail_row2 = VoicemailSchema(fullname='voicemail2', context=context, mailbox='1000') voicemail_row3 = VoicemailSchema(fullname='voicemail3', context=context, mailbox='1002') self.add_me(voicemail_row1) self.add_me(voicemail_row2) self.add_me(voicemail_row3) expected_voicemail2 = Voicemail( id=voicemail_row2.uniqueid, name='voicemail2', context=context, number='1000', attach_audio=False, delete_messages=False, ask_password=True, ) result = voicemail_dao.search(skip=1, limit=1, order='name') assert_that(result.total, equal_to(3)) assert_that(result.items, contains(self._has_voicemail(expected_voicemail2)))
def test_search_with_all_parameters(self): context = 'default' voicemail_row1 = VoicemailSchema(fullname='donotappear', context=context, mailbox='1001') voicemail_row2 = VoicemailSchema(fullname='voicemail2', context=context, mailbox='1002') voicemail_row3 = VoicemailSchema(fullname='voicemail3', context=context, mailbox='1003') voicemail_row4 = VoicemailSchema(fullname='voicemail4', context=context, mailbox='1004') voicemail_row5 = VoicemailSchema(fullname='voicemail5', context=context, mailbox='1005') self.add_me(voicemail_row1) self.add_me(voicemail_row2) self.add_me(voicemail_row3) self.add_me(voicemail_row4) self.add_me(voicemail_row5) expected_voicemail4 = Voicemail( id=voicemail_row4.uniqueid, name='voicemail4', context=context, number='1004', attach_audio=False, delete_messages=False, ask_password=True, ) expected_voicemail3 = Voicemail( id=voicemail_row3.uniqueid, name='voicemail3', context=context, number='1003', attach_audio=False, delete_messages=False, ask_password=True, ) result = voicemail_dao.search(search='VOICEMAIL', order='name', direction='desc', skip=1, limit=2) assert_that(result.total, equal_to(4)) assert_that(result.items, contains( self._has_voicemail(expected_voicemail4), self._has_voicemail(expected_voicemail3)))
def test_search_with_search(self): context = 'default' voicemail_row1 = VoicemailSchema(fullname='voicemail1', context=context, mailbox='1001') voicemail_row2 = VoicemailSchema(fullname='donotappear', context=context, mailbox='1000') voicemail_row3 = VoicemailSchema(fullname='voicemail3', context=context, mailbox='1002') self.add_me(voicemail_row1) self.add_me(voicemail_row2) self.add_me(voicemail_row3) expected_voicemail1 = Voicemail( id=voicemail_row1.uniqueid, name='voicemail1', context=context, number='1001', attach_audio=False, delete_messages=False, ask_password=True, ) expected_voicemail3 = Voicemail( id=voicemail_row3.uniqueid, name='voicemail3', context=context, number='1002', attach_audio=False, delete_messages=False, ask_password=True, ) result = voicemail_dao.search(search='VOICEMAIL') assert_that(result.total, equal_to(2)) assert_that(result.items, contains( self._has_voicemail(expected_voicemail1), self._has_voicemail(expected_voicemail3)))
def test_search_with_limit(self): context = 'default' voicemail_row1 = VoicemailSchema(fullname='voicemail1', context=context, mailbox='1000') voicemail_row2 = VoicemailSchema(fullname='voicemail2', context=context, mailbox='1001') self.add_me(voicemail_row1) self.add_me(voicemail_row2) result = voicemail_dao.search(limit=1) assert_that(result.total, equal_to(2)) assert_that(result.items, contains(instance_of(Voicemail)))
def test_search_two_voicemails(self): context = 'default' voicemail_row1 = VoicemailSchema(fullname='voicemail1', context=context, mailbox='1000') voicemail_row2 = VoicemailSchema(fullname='voicemail2', context=context, mailbox='1001') self.add_me(voicemail_row1) self.add_me(voicemail_row2) expected_voicemail1 = Voicemail( id=voicemail_row1.uniqueid, name='voicemail1', context=context, number='1000', attach_audio=False, delete_messages=False, ask_password=True, ) expected_voicemail2 = Voicemail( id=voicemail_row2.uniqueid, name='voicemail2', context=context, number='1001', attach_audio=False, delete_messages=False, ask_password=True, ) result = voicemail_dao.search() assert_that(result.total, equal_to(2)) assert_that(result.items, contains_inanyorder( self._has_voicemail(expected_voicemail1), self._has_voicemail(expected_voicemail2) ))
def test_search_one_voicemail(self): name = 'myvoicemail' context = 'default' number = '1000' voicemail_row = VoicemailSchema(fullname=name, context=context, mailbox=number) self.add_me(voicemail_row) expected_voicemail = Voicemail( id=voicemail_row.uniqueid, name=name, context=context, number=number, attach_audio=False, delete_messages=False, ask_password=True, ) result = voicemail_dao.search() assert_that(result.total, equal_to(1)) assert_that(result.items, contains(self._has_voicemail(expected_voicemail)))
def test_search_no_voicemails(self): result = voicemail_dao.search() assert_that(result, all_of( has_property('total', 0), has_property('items', [])))
def search(**parameters): return voicemail_dao.search(**parameters)