def test_init_without_auth(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text( """ rest: host: 127.0.0.1 port: 5000 api: /api/rest/v1.0/ask debug: false workers: 4 use_api_keys: false api_key_file: apikeys.txt """, ConsoleConfiguration(), ".") rest_config = RestConfiguration("rest") rest_config.load_configuration(yaml, ".") self.assertEqual("127.0.0.1", rest_config.host) self.assertEqual(5000, rest_config.port) self.assertEqual('/api/rest/v1.0/ask', rest_config.api) self.assertEqual(False, rest_config.debug) self.assertEqual(False, rest_config.use_api_keys) self.assertEqual("apikeys.txt", rest_config.api_key_file) self.assertIsNone(rest_config.authorization)
def __init__(self): RestConfiguration.__init__(self, "google") self._launch_text = GoogleConfiguration.DEFAULT_LAUNCH_TEXT self._launch_srai = None self._quit_text = GoogleConfiguration.DEFAULT_QUIT_TEXT self._quit_srai = None self._help_text = GoogleConfiguration.DEFAULT_HELP_TEXT self._help_srai = None self._error_text = GoogleConfiguration.DEFAULT_ERROR_TEXT self._error_srai = None
def test_init_no_values(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" rest: """, ConsoleConfiguration(), ".") rest_config = RestConfiguration("rest") rest_config.load_configuration(yaml, ".") self.assertEqual("0.0.0.0", rest_config.host) self.assertEqual(80, rest_config.port) self.assertEqual(False, rest_config.debug) self.assertEqual(False, rest_config.use_api_keys)
def test_init_no_values(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" rest: """, ConsoleConfiguration(), ".") rest_config = RestConfiguration("rest") rest_config.load_configuration(yaml, ".") self.assertEqual("0.0.0.0", rest_config.host) self.assertEqual(80, rest_config.port) self.assertEqual(False, rest_config.debug) self.assertEqual(False, rest_config.use_api_keys)
def test_to_yaml_with_no_defaults(self): config = RestConfiguration("rest") data = {} config.to_yaml(data, False) self.assertEqual(data['host'], "0.0.0.0") self.assertEqual(data['port'], 80) self.assertEqual(data['debug'], False) self.assertEqual(data['api'], '/api/rest/v1.0/ask') self.assertEqual(data['use_api_keys'], False) self.assertEqual(data['api_key_file'], None) self.assertEqual(data['ssl_cert_file'], None) self.assertEqual(data['ssl_key_file'], None) self.assertEqual(data['authorization'], None)
def execute(self, args): config_data = {} if args is None: raise Exception("Args empty") if args.clients is None: raise Exception("No clients defined") if 'all' in args.clients or 'console' in args.clients: self.add_to_config(config_data, ConsoleConfiguration(), args.defaults) if 'all' in args.clients or 'socket' in args.clients: self.add_to_config(config_data, SocketConfiguration(), args.defaults) if 'all' in args.clients or 'slack' in args.clients: self.add_to_config(config_data, SlackConfiguration(), args.defaults) if 'all' in args.clients or 'telegram' in args.clients: self.add_to_config(config_data, TelegramConfiguration(), args.defaults) if 'all' in args.clients or 'twitter' in args.clients: self.add_to_config(config_data, TwitterConfiguration(), args.defaults) if 'all' in args.clients or 'xmpp' in args.clients: self.add_to_config(config_data, XmppConfiguration(), args.defaults) if 'all' in args.clients or 'rest' in args.clients: self.add_to_config(config_data, RestConfiguration(name="rest")) if 'all' in args.clients or 'facebook' in args.clients: self.add_to_config(config_data, FacebookConfiguration(), args.defaults) if 'all' in args.clients or 'kik' in args.clients: self.add_to_config(config_data, KikConfiguration(), args.defaults) if 'all' in args.clients or 'line' in args.clients: self.add_to_config(config_data, LineConfiguration(), args.defaults) if 'all' in args.clients or 'twilio' in args.clients: self.add_to_config(config_data, TwilioConfiguration(), args.defaults) if 'all' in args.clients or 'viber' in args.clients: self.add_to_config(config_data, ViberConfiguration(), args.defaults) if 'all' in args.clients or 'sanic' in args.clients: self.add_to_config(config_data, SanicRestConfiguration(name="sanic")) client_config = ConsoleConfiguration() bot_config = client_config.configurations[0] self.add_to_config(config_data, bot_config, args.defaults) brain_config = bot_config.configurations[0] self.add_to_config(config_data, brain_config, args.defaults) self.write_yaml(args.file, config_data)
def test_init(self): config = RestConfiguration("test") self.assertIsNotNone(config) handler = APIKeysHandler(config) self.assertIsNotNone(handler) self.assertFalse(handler.use_api_keys())
def test_to_yaml_with_defaults(self): config = RestConfiguration("rest") data = {} config.to_yaml(data, True) self.assertEqual(data['host'], "0.0.0.0") self.assertEqual(data['port'], 80) self.assertEqual(data['debug'], False) self.assertEqual(data['use_api_keys'], False) self.assertEqual(data['api_key_file'], './api.keys') self.assertEqual(data['ssl_cert_file'], './rsa.cert') self.assertEqual(data['ssl_key_file'], './rsa.keys') self.assertEqual(data['bot'], 'bot') self.assertEqual(data['bot_selector'], "programy.clients.client.DefaultBotSelector") self.assertEqual(data['renderer'], "programy.clients.render.text.TextRenderer")
def test_to_yaml_with_defaults(self): config = RestConfiguration("rest") data = {} config.to_yaml(data, True) self.assertEquals(data['host'], "0.0.0.0") self.assertEquals(data['port'], 80) self.assertEquals(data['debug'], False) self.assertEquals(data['use_api_keys'], False) self.assertEquals(data['api_key_file'], './api.keys') self.assertEquals(data['ssl_cert_file'], './rsa.cert') self.assertEquals(data['ssl_key_file'], './rsa.keys') self.assertEquals(data['bot'], 'bot') self.assertEquals(data['license_keys'], "./config/license.keys") self.assertEquals(data['bot_selector'], "programy.clients.client.DefaultBotSelector") self.assertEquals(data['renderer'], "programy.clients.render.text.TextRenderer")
def __init__(self): RestConfiguration.__init__(self, "alexa") self._launch_text = AlexaConfiguration.DEFAULT_LAUNCH_TEXT self._launch_srai = None self._stop_text = AlexaConfiguration.DEFAULT_STOP_TEXT self._stop_srai = None self._cancel_text = AlexaConfiguration.DEFAULT_CANCEL_TEXT self._cancel_srai = None self._help_text = AlexaConfiguration.DEFAULT_HELP_TEXT self._help_srai = None self._error_text = AlexaConfiguration.DEFAULT_ERROR_TEXT self._error_srai = None self._leave_intents = AlexaConfiguration.DEFAULT_LEAVE_INTENT self._intent_map_file = None
def test_get_api_key(self): config = RestConfiguration("test") self.assertIsNotNone(config) handler = APIKeysHandler(config) self.assertIsNotNone(handler) request = MockRequest() request.args['apikey'] = '11111111' self.assertEquals('11111111', handler.get_api_key(request))
def test_init(self): yaml = YamlConfigurationFile() self.assertIsNotNone(yaml) yaml.load_from_text(""" rest: host: 127.0.0.1 port: 5000 debug: false workers: 4 use_api_keys: false api_key_file: apikeys.txt """, ConsoleConfiguration(), ".") rest_config = RestConfiguration("rest") rest_config.load_configuration(yaml, ".") self.assertEqual("127.0.0.1", rest_config.host) self.assertEqual(5000, rest_config.port) self.assertEqual(False, rest_config.debug) self.assertEqual(False, rest_config.use_api_keys) self.assertEqual("apikeys.txt", rest_config.api_key_file)
def test_init(self): config = RestConfiguration("test") self.assertIsNotNone(config) handler = MockRestBasicAuthorizationHandler(config) self.assertIsNotNone(handler) handler.auth_token = "1234567890" arguments = MockArgumentParser() client = RestBotClient("testrest", arguments) self.assertIsNotNone(client) client.license_keys.add_key('BASIC_AUTH_TOKEN', "1234567890") handler.initialise(client) self.assertEquals("1234567890", handler._basic_auth_token)
def test_authorise_invalid_header(self): config = RestConfiguration("test") self.assertIsNotNone(config) handler = MockRestBasicAuthorizationHandler(config) self.assertIsNotNone(handler) handler.auth_token = "1234567890" arguments = MockArgumentParser() client = RestBotClient("testrest", arguments) self.assertIsNotNone(client) client.license_keys.add_key('BASIC_AUTH_TOKEN', "1234567890") handler.initialise(client) request = MockRequest() request.headers['AUTHORISATION'] = 'Basic 0123456789' self.assertFalse(handler.authorise(request))
def check_for_license_keys(self, license_keys): RestConfiguration.check_for_license_keys(self, license_keys)
def __init__(self, name): self._workers = 4 RestConfiguration.__init__(self, name)
def __init__(self): RestConfiguration.__init__(self, "line") self._unknown_command = "Unknown command" self._unknown_command_srai = None
def __init__(self): RestConfiguration.__init__(self, "webchat") self._cookie_id = "ProgramYSession" self._cookie_expires = 90
def __init__(self): RestConfiguration.__init__(self, "microsoft") self._new_user_text = MicrosoftConfiguration.NEW_USER_TEXT self._new_user_srai = None
def __init__(self): RestConfiguration.__init__(self, "facebook")
def __init__(self): RestConfiguration.__init__(self, "facebook")
def __init__(self): RestConfiguration.__init__(self, "viber") self._name = None self._avatar = None self._webhook = None
def __init__(self): RestConfiguration.__init__(self, "kik") self._bot_name = "program-y" self._webhook = "https://localhost:5000" self._unknown_command = "Unknown command" self._unknown_command_srai = None
def __init__(self): RestConfiguration.__init__(self, "line") self._unknown_command = "Unknown command" self._unknown_command_srai = None
def __init__(self, name): self._workers = 4 RestConfiguration.__init__(self, name)
def __init__(self): RestConfiguration.__init__(self, "kik") self._bot_name = "program-y" self._webhook = "https://localhost:5000" self._unknown_command = "Unknown command" self._unknown_command_srai = None
def __init__(self): RestConfiguration.__init__(self, "webchat") self._cookie_id = "ProgramYSession" self._cookie_expires = 90
def get_client_configuration(self): return RestConfiguration("rest")
def __init__(self): RestConfiguration.__init__(self, "twilio")
def __init__(self): RestConfiguration.__init__(self, "twilio")
def __init__(self): RestConfiguration.__init__(self, "alexa") self._ask_debug_level = logging.ERROR