示例#1
0
    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)
示例#2
0
    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
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)
示例#7
0
    def test_init(self):
        config = RestConfiguration("test")
        self.assertIsNotNone(config)

        handler = APIKeysHandler(config)
        self.assertIsNotNone(handler)

        self.assertFalse(handler.use_api_keys())
示例#8
0
    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")
示例#9
0
    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")
示例#10
0
    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
示例#11
0
    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))
示例#12
0
    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)
示例#13
0
    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)
示例#14
0
    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))
示例#15
0
 def check_for_license_keys(self, license_keys):
     RestConfiguration.check_for_license_keys(self, license_keys)
示例#16
0
 def __init__(self, name):
     self._workers = 4
     RestConfiguration.__init__(self, name)
示例#17
0
 def __init__(self):
     RestConfiguration.__init__(self, "line")
     self._unknown_command = "Unknown command"
     self._unknown_command_srai = None
示例#18
0
 def __init__(self):
     RestConfiguration.__init__(self, "webchat")
     self._cookie_id = "ProgramYSession"
     self._cookie_expires = 90
示例#19
0
 def __init__(self):
     RestConfiguration.__init__(self, "microsoft")
     self._new_user_text = MicrosoftConfiguration.NEW_USER_TEXT
     self._new_user_srai = None
示例#20
0
 def __init__(self):
     RestConfiguration.__init__(self, "facebook")
示例#21
0
 def __init__(self):
     RestConfiguration.__init__(self, "facebook")
示例#22
0
 def __init__(self):
     RestConfiguration.__init__(self, "viber")
     self._name = None
     self._avatar = None
     self._webhook = None
示例#23
0
 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
示例#24
0
文件: config.py 项目: whackur/chatbot
 def __init__(self):
     RestConfiguration.__init__(self, "line")
     self._unknown_command = "Unknown command"
     self._unknown_command_srai = None
示例#25
0
 def __init__(self, name):
     self._workers = 4
     RestConfiguration.__init__(self, name)
示例#26
0
文件: config.py 项目: whackur/chatbot
 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
示例#27
0
 def __init__(self):
     RestConfiguration.__init__(self, "webchat")
     self._cookie_id = "ProgramYSession"
     self._cookie_expires = 90
示例#28
0
 def get_client_configuration(self):
     return RestConfiguration("rest")
示例#29
0
 def __init__(self):
     RestConfiguration.__init__(self, "twilio")
示例#30
0
 def __init__(self):
     RestConfiguration.__init__(self, "twilio")
示例#31
0
 def __init__(self):
     RestConfiguration.__init__(self, "alexa")
     self._ask_debug_level = logging.ERROR