def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.msg_helper = self.add_helper( GoMessageHelper(vumi_helper=self.vumi_helper)) self.user_helper = yield self.vumi_helper.make_user(u'user') self.conv = yield self.user_helper.create_conversation( conversation_type=u'some_conversation')
def setUp(self): super(TestMessageStoreResource, self).setUp() self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.msg_helper = self.add_helper(GoMessageHelper()) self.user_helper = yield self.vumi_helper.make_user(u"user") self.app_worker.user_api = self.user_helper.user_api self.message_store = self.vumi_helper.get_vumi_api().mdb self.conversation = yield self.user_helper.create_conversation( u'jsbox', started=True) # store inbound yield self.message_store.add_inbound_message( self.msg_helper.make_inbound('hello'), batch_id=self.conversation.batch.key) # store outbound outbound_msg = self.msg_helper.make_outbound('hello') yield self.message_store.add_outbound_message( outbound_msg, batch_id=self.conversation.batch.key) # ack outbound event = self.msg_helper.make_ack(outbound_msg) yield self.message_store.add_event(event) # monkey patch for when no conversation_key is provided self.app_worker.conversation_for_api = lambda *a: self.conversation yield self.create_resource({})
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.msg_helper = self.add_helper(GoMessageHelper()) self.billing_api = BillingApiMock() self.ri_helper = self.vumi_helper.get_worker_helper( "billing_dispatcher_ri") self.ro_helper = self.vumi_helper.get_worker_helper( "billing_dispatcher_ro")
def setUp(self): super(TestGoOutboundResource, self).setUp() yield self.create_resource({}) self.vumi_helper = yield self.add_helper(VumiApiHelper(), setup_vumi_api=True) self.app_helper = self.add_helper( ApplicationHelper(u"dummy", self.vumi_helper)) self.msg_helper = self.add_helper(GoMessageHelper())
def __init__(self, middleware_class): self._vumi_helper = VumiApiHelper() self._msg_helper = GoMessageHelper() self.middleware_class = middleware_class self._middlewares = [] generate_proxies(self, self._vumi_helper) generate_proxies(self, self._msg_helper)
def setUp(self): self.vumi_helper = yield self.add_helper( VumiApiHelper(is_sync=self.is_sync)) self.user_helper = yield self.vumi_helper.make_user(u'user') user_account = yield self.user_helper.get_user_account() self.optout_store = OptOutStore.from_user_account(user_account) self.conv_store = ConversationStore.from_user_account(user_account) self.contact_store = ContactStore.from_user_account(user_account)
def setUp(self): super(TestContactsResource, self).setUp() self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.make_user(u"user") self.app_worker.user_api = self.user_helper.user_api self.contact_store = self.user_helper.user_api.contact_store yield self.create_resource({'delivery_class': u'sms'})
def setUp(self): super(TestGroupsResource, self).setUp() self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.make_user(u"user") self.app_worker.user_api = self.user_helper.user_api self.contact_store = self.user_helper.user_api.contact_store yield self.create_resource({})
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.get_or_create_user() riak_manager = self.vumi_helper.get_riak_manager() self.contact_store = ContactStore( riak_manager, self.user_helper.account_key) # Old contact proxy for making unindexed contacts. per_account_manager = riak_manager.sub_manager( self.user_helper.account_key) self.contacts_v1 = per_account_manager.proxy(ContactV1)
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.make_user(u'user') user_account = yield self.user_helper.get_user_account() self.store = ContactStore.from_user_account(user_account) self.alt_user_helper = yield self.vumi_helper.make_user(u'other_user') alt_user_account = yield self.alt_user_helper.get_user_account() self.store_alt = ContactStore.from_user_account(alt_user_account)
def setUp(self): self.vumi_helper = yield self.add_helper( VumiApiHelper(is_sync=self.is_sync)) self.vumi_api = self.vumi_helper.get_vumi_api() self.user_helper = yield self.vumi_helper.make_user(u'Buster') self.user_api = self.user_helper.user_api # Some stores for old versions to test migrations. self.account_store_vnone = AccountStoreVNone(self.vumi_api.manager) self.account_store_v1 = AccountStoreV1(self.vumi_api.manager)
def __init__(self, use_riak=True): # Note: We pass `is_sync=True` to the VumiApiHelper because a Django # test case cannot be async. We define a property lower down that # proxies `is_sync` from the VumiApiHelper we're wrapping so that # we can be used by other helpers more easily. self._vumi_helper = VumiApiHelper(is_sync=True, use_riak=use_riak) self.use_riak = use_riak # So create_user_profile() knows what to do. generate_proxies(self, self._vumi_helper) # TODO: Better/more generic way to do this patching? self._settings_patches = []
def setUp(self): self.vumi_helper = self.add_helper(VumiApiHelper(), setup_vumi_api=False) self.worker_helper = self.vumi_helper.get_worker_helper() self.api = yield self.worker_helper.get_worker( CommandDispatcher, self.vumi_helper.mk_config({ 'transport_name': 'this should not be an ApplicationWorker', 'worker_names': ['worker_1', 'worker_2'], }))
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.make_user(u'user') self.user_api = self.user_helper.user_api self.campaign_key = self.user_helper.account_key site = Site( GoApiServer(self.campaign_key, self.vumi_helper.get_vumi_api())) self.server = yield reactor.listenTCP(0, site) self.add_cleanup(self.server.loseConnection) addr = self.server.getHost() self.proxy = Proxy("http://%s:%d/" % (addr.host, addr.port))
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) response = Mock() response.code = http.OK response.delivered_body = 'javascript!' self.mocked_url_call = Mock( side_effect=[succeed(response), succeed(response)]) self.patch(ConversationConfigResource, 'load_source_from_url', self.mocked_url_call) self.config = self.vumi_helper.mk_config({ 'worker_name': 'conversation_api_worker', 'web_path': '/foo/', 'web_port': 0, 'health_path': '/health/', }) self.worker = yield self.vumi_helper.get_worker_helper().get_worker( ConversationApiWorker, self.config) self.addr = self.worker.webserver.getHost() self.url = 'http://%s:%s%s' % (self.addr.host, self.addr.port, self.config['web_path']) self.user_helper = yield self.vumi_helper.make_user(u'user') yield self.vumi_helper.setup_tagpool(u"pool", [u"tag1", u"tag2"]) yield self.user_helper.add_tagpool_permission(u"pool") self.conversation = yield self.user_helper.create_conversation( u'jsbox', config={ 'jsbox_app_config': { 'config': { 'source_url': 'http://configsourcecode/' }, }, 'jsbox': { 'source_url': 'http://sourcecode/', }, 'http_api': { 'api_tokens': ['token-1', 'token-2', 'token-3'], 'metrics_store': 'metrics_store' }, }) self.auth_headers = { 'Authorization': [ 'Basic ' + base64.b64encode('%s:%s' % (self.user_helper.account_key, 'token-1')) ], }
def setUp(self): self.vumi_helper = self.add_helper(VumiApiHelper(), setup_vumi_api=False) self.worker_helper = self.vumi_helper.get_worker_helper() self.ed = yield self.worker_helper.get_worker( EventDispatcher, self.vumi_helper.mk_config({ 'transport_name': 'this should not be an ApplicationWorker', 'event_handlers': { 'handler1': "%s.%s" % (SendMessageCommandHandler.__module__, SendMessageCommandHandler.__name__) }, }))
def setUp(self): self.vumi_helper = self.add_helper(VumiApiHelper(), setup_vumi_api=False) self.worker_helper = self.vumi_helper.get_worker_helper() self.ed = yield self.worker_helper.get_worker( EventDispatcher, self.vumi_helper.mk_config({ 'transport_name': 'this should not be an ApplicationWorker', 'event_handlers': { 'handler1': '%s.ToyHandler' % __name__, 'handler2': '%s.ToyHandler' % __name__, }, })) self.handler1 = self.ed.handlers['handler1'] self.handler2 = self.ed.handlers['handler2']
def setUp(self): self.vumi_helper = self.add_helper(VumiApiHelper(is_sync=True)) self.user_helper = self.vumi_helper.get_or_create_user() wrapped_conv = self.user_helper.create_conversation( u'subscription', config={ 'handlers': [{ 'campaign_name': 'campaign-1' }, { 'campaign_name': 'campaign-2' }] }) self.conv = wrapped_conv.c self.conv_def = ConversationDefinition(self.conv)
def test_add_router_metadata(self): md = self.mk_md() self.assertEqual(md._go_metadata, {}) vumi_helper = yield self.add_helper(VumiApiHelper()) user_helper = yield vumi_helper.make_user(u'user') router = yield user_helper.create_router(u'keyword') md.add_router_metadata(router) self.assertEqual( md._go_metadata, { 'user_account': user_helper.account_key, 'router_type': router.router_type, 'router_key': router.key, })
def test_add_conversation_metadata(self): md = self.mk_md() self.assertEqual(md._go_metadata, {}) vumi_helper = yield self.add_helper(VumiApiHelper()) user_helper = yield vumi_helper.make_user(u'user') conv = yield user_helper.create_conversation(u'bulk_message') md.add_conversation_metadata(conv) self.assertEqual( md._go_metadata, { 'user_account': user_helper.account_key, 'conversation_type': conv.conversation_type, 'conversation_key': conv.key, })
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.make_user(u'username') self.msg_helper = self.add_helper( GoMessageHelper(vumi_helper=self.vumi_helper)) self.conv = yield self.user_helper.create_conversation(u'dummy') yield self.vumi_helper.setup_tagpool( u"pool", [u"tag%s" % (i, ) for i in range(1, 5)], metadata={ "display_name": "pool", "delivery_class": "sms", "transport_type": "sms", "transport_name": self.msg_helper.transport_name, }) yield self.user_helper.add_tagpool_permission(u"pool")
def __init__(self, worker_class, **msg_helper_args): self._worker_class = worker_class self.vumi_helper = VumiApiHelper() self._app_helper = ApplicationHelper(self._conversation_type(), self.vumi_helper) self.msg_helper = GoMessageHelper(**msg_helper_args) self.transport_name = self.msg_helper.transport_name self.worker_helper = self.vumi_helper.get_worker_helper( self.transport_name) self.dispatch_helper = MessageDispatchHelper(self.msg_helper, self.worker_helper) # Proxy methods from our helpers. generate_proxies(self, self._app_helper) generate_proxies(self, self.msg_helper) generate_proxies(self, self.worker_helper) generate_proxies(self, self.dispatch_helper)
def __init__(self, worker_class, **msg_helper_args): self._worker_class = worker_class msg_helper_kw = {} if msg_helper_args is not None: msg_helper_kw.update(msg_helper_args) self.vumi_helper = VumiApiHelper() self._router_helper = RouterHelper( self._router_type(), self.vumi_helper) self.msg_helper = GoMessageHelper(**msg_helper_kw) # Proxy methods from our helpers. generate_proxies(self, self._router_helper) generate_proxies(self, self.msg_helper) self.ri = RouterConnectorHelper( 'ri_conn', self.vumi_helper, self.msg_helper) self.ro = RouterConnectorHelper( 'ro_conn', self.vumi_helper, self.msg_helper)
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.get_or_create_user() self.conv = yield self.user_helper.create_conversation( u'some_conversation') contact_store = self.user_helper.user_api.contact_store self.contact1 = yield contact_store.new_contact( name=u'contact-1', msisdn=u'+27831234567') self.contact2 = yield contact_store.new_contact( name=u'contact-2', msisdn=u'+27831234568') yield self.contact1.save() yield self.contact2.save() self.metric = ToySubscriptionMetric(self.conv, 'campaign-1')
def setUp(self): super(TestOptOutResource, self).setUp() self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.msg_helper = self.add_helper(GoMessageHelper()) self.user_helper = yield self.vumi_helper.make_user(u'user') user_account = yield self.user_helper.get_user_account() user_account.can_manage_optouts = True yield user_account.save() self.app_worker.user_api = self.user_helper.user_api self.contact_store = self.user_helper.user_api.contact_store self.optout_store = OptOutStore.from_user_account(user_account) yield self.create_resource({}) self.contact1 = yield self.new_contact(name=u'A', surname=u'Person', msisdn=u'+27123456789') self.contact2 = yield self.new_contact(name=u'B', surname=u'Person', msisdn=u'+27000000000')
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.vumi_api = yield self.vumi_helper.get_vumi_api()
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.clock = Clock() self.patch(metrics_worker, 'LoopingCall', self.looping_call) self.conversation_names = {}
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.user_helper = yield self.vumi_helper.make_user(u'user') self.msg_helper = self.add_helper(MessageHelper())
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper()) self.msg_helper = self.add_helper( GoMessageHelper(vumi_helper=self.vumi_helper)) self.user_helper = yield self.vumi_helper.make_user(u'user') self.patch(time, 'time', lambda: 1985)
def setUp(self): self.vumi_helper = yield self.add_helper(VumiApiHelper(), setup_vumi_api=True) self.app_helper = self.add_helper( ApplicationHelper(u"dummy", self.vumi_helper)) self.msg_helper = self.add_helper(GoMessageHelper())