コード例 #1
0
    def test_getDuration(self):
        """Test getDuration method"""
        class DialogSession:
            def __init__(self, slotsAsObjects: dict):
                self.slotsAsObjects = slotsAsObjects

        class TimeObject:
            def __init__(self, value: dict, entity: str = 'snips/duration'):
                self.value = value
                self.entity = entity

        timeDict = {
            'seconds': 6,
            'minutes': 5,
            'hours': 4,
            'days': 3,
            'weeks': 2,
            'months': 1
        }

        session = DialogSession({'Duration': [TimeObject(timeDict)]})
        self.assertEqual(CommonsManager.getDuration(session), 3902706)

        session = DialogSession(
            {'Duration': [TimeObject(timeDict, 'customDurationIntent')]})
        self.assertEqual(CommonsManager.getDuration(session), 0)

        session = DialogSession({'Duration': [TimeObject(dict())]})
        self.assertEqual(CommonsManager.getDuration(session), 0)
コード例 #2
0
	def test_parseDeviceUid(self, mock_superManager):
		class MQTTMessage:

			def __init__(self, payload):
				self.payload = payload
				self.topic = 'test'


		# mock SuperManager
		mock_instance = MagicMock()
		mock_superManager.getInstance.return_value = mock_instance
		mock_instance.configManager.getAliceConfigByName.return_value = 'uuid'

		self.assertEqual(
			CommonsManager.parseDeviceUid(MQTTMessage('{"siteId": "uid", "IPAddress": "127.0.0.1"}')),
			'uid'
		)

		self.assertEqual(
			CommonsManager.parseDeviceUid(MQTTMessage('{"IPAddress": "127.0.0.1"}')),
			'127.0.0.1'
		)

		self.assertEqual(
			CommonsManager.parseDeviceUid(MQTTMessage('{}')),
			'uuid'
		)
コード例 #3
0
	def test_isYes(self):
		class DialogSession:

			def __init__(self, slotsAsObjects: dict):
				self.slotsAsObjects = slotsAsObjects


		class Slot:

			def __init__(self, value):
				self.value = {'value': value}


		session1 = DialogSession(dict())
		session2 = DialogSession({
			'Answer': [
				Slot('yes')
			]
		})
		session3 = DialogSession({
			'Answer': [
				Slot('no')
			]
		})
		session4 = DialogSession({
			'Answer': [
				Slot('yeah')
			]
		})

		self.assertFalse(CommonsManager.isYes(session1))
		self.assertTrue(CommonsManager.isYes(session2))
		self.assertFalse(CommonsManager.isYes(session3))
		self.assertFalse(CommonsManager.isYes(session4))
コード例 #4
0
	def test_isEqualTranslated(self, mock_LanguageManager):
		commonsManager = CommonsManager()
		mock_LanguageManager.getStrings.return_value = ['String1', ' strIng2']
		self.assertTrue(commonsManager.isEqualTranslated('string1', 'compareTo', 'skill'))
		mock_LanguageManager.getStrings.called_once_with('compareTo', 'skill')
		self.assertTrue(commonsManager.isEqualTranslated('string2 ', 'compareTo', 'skill'))
		self.assertFalse(commonsManager.isEqualTranslated('string3', 'compareTo', 'skill'))
コード例 #5
0
 def update(self, message: MQTTMessage):
     from core.commons.CommonsManager import CommonsManager
     self.message = message
     self.intentName = message.topic
     self.payload = CommonsManager.payload(message)
     self.slots.update(CommonsManager.parseSlots(message))
     self.slotsAsObjects.update(CommonsManager.parseSlotsToObjects(message))
     self.customData.update(CommonsManager.parseCustomData(message))
コード例 #6
0
    def test_parseSessionId(self):
        class MQTTMessage:
            def __init__(self, payload):
                self.payload = payload

        self.assertEqual(CommonsManager.parseSessionId(MQTTMessage(None)),
                         False)
        self.assertEqual(
            CommonsManager.parseSessionId(
                MQTTMessage('{"sessionId": "sessionIdValue"}')),
            "sessionIdValue")
コード例 #7
0
	def test_parseSiteId(self):
		class MQTTMessage:
			def __init__(self, payload):
				self.payload = payload

		self.assertEqual(
			CommonsManager.parseSiteId(MQTTMessage('{"siteId": "site_id", "IPAddress": "127.0.0.1"}')),
			'site id')
		self.assertEqual(
			CommonsManager.parseSiteId(MQTTMessage('{"IPAddress": "127.0.0.1"}')),
			'127.0.0.1')
コード例 #8
0
    def extend(self, message: MQTTMessage, sessionId: str = None):
        if sessionId:
            self.sessionId = sessionId

        from core.commons.CommonsManager import CommonsManager
        self.message = message
        self.intentName = message.topic
        self.payload = CommonsManager.payload(message)
        self.slots = CommonsManager.parseSlots(message)
        self.slotsAsObjects = CommonsManager.parseSlotsToObjects(message)
        self.customData = CommonsManager.parseCustomData(message)
コード例 #9
0
 def test_toPascalCase(self):
     """Test whether string gets correctly converted to pascal case"""
     self.assertEqual(CommonsManager.toPascalCase('example string'),
                      'ExampleString')
     self.assertEqual(
         CommonsManager.toPascalCase('Example-string_2',
                                     replaceSepCharacters=True),
         'ExampleString2')
     self.assertEqual(
         CommonsManager.toPascalCase('Example+string/2',
                                     replaceSepCharacters=True,
                                     sepCharacters=('+', '/')),
         'ExampleString2')
コード例 #10
0
    def test_parseSlots(self):
        class MQTTMessage:
            def __init__(self, payload):
                self.payload = payload

        self.assertEqual(CommonsManager.parseSlots(MQTTMessage(None)), dict())
        message = MQTTMessage('{"slots": [\
			{"slotName": "slotName1", "rawValue": "rawValue1"},\
			{"slotName": "slotName2", "rawValue": "rawValue2"}]}')
        self.assertEqual(CommonsManager.parseSlots(message), {
            "slotName1": "rawValue1",
            "slotName2": "rawValue2"
        })
コード例 #11
0
	def test_payload(self):
		class MQTTMessage:
			def __init__(self, payload):
				self.payload = payload

		self.assertEqual(
			CommonsManager.payload(MQTTMessage("{'test': 2}")),
			dict())
		self.assertEqual(
			CommonsManager.payload(MQTTMessage(None)),
			dict())
		self.assertEqual(
			CommonsManager.payload(MQTTMessage(b'\x81')),
			dict())
		self.assertEqual(
			CommonsManager.payload(MQTTMessage('{"test": 2}')),
			{'test': 2})
		self.assertEqual(
			CommonsManager.payload(MQTTMessage(b'{"test": 2}')),
			{'test': 2})
		self.assertEqual(
			CommonsManager.payload(MQTTMessage('true')),
			{'true': True})
		self.assertEqual(
			CommonsManager.payload(MQTTMessage('false')),
			{'false': False})
		self.assertEqual(
			CommonsManager.payload(MQTTMessage(b'true')),
			{'true': True})
コード例 #12
0
    def test_parseSlotsToObjects(self):
        class MQTTMessage:
            def __init__(self, payload):
                self.payload = payload

        self.assertEqual(CommonsManager.parseSlotsToObjects(MQTTMessage(None)),
                         dict())
コード例 #13
0
 def test_dictMaxValue(self):
     self.assertEqual(
         CommonsManager.dictMaxValue({
             'first': 1,
             'second': 3,
             'third': 2
         }), 'second')
コード例 #14
0
    def initManagers(self):
        from core.commons.CommonsManager import CommonsManager
        from core.base.ConfigManager import ConfigManager
        from core.server.MqttManager import MqttManager
        from core.util.DatabaseManager import DatabaseManager
        from core.util.ThreadManager import ThreadManager
        from core.util.TimeManager import TimeManager
        from core.util.NetworkManager import NetworkManager
        from core.snips.SnipsServicesManager import SnipsServicesManager
        from core.util.HotwordManager import HotwordManager

        self.commonsManager = CommonsManager()
        self.commons = self.commonsManager
        self.configManager = ConfigManager()
        self.databaseManager = DatabaseManager()
        self.threadManager = ThreadManager()
        self.mqttManager = MqttManager()
        self.timeManager = TimeManager()
        self.networkManager = NetworkManager()
        self.snipsServicesManager = SnipsServicesManager()
        self.hotwordManager = HotwordManager()

        self._managers = {
            name[0].upper() + name[1:]: manager
            for name, manager in self.__dict__.items()
            if name.endswith('Manager')
        }
コード例 #15
0
 def test_angleToCardinal(self):
     self.assertEqual(CommonsManager.angleToCardinal(0), 'north')
     self.assertEqual(CommonsManager.angleToCardinal(90), 'east')
     self.assertEqual(CommonsManager.angleToCardinal(180), 'south')
     self.assertEqual(CommonsManager.angleToCardinal(270), 'west')
     self.assertEqual(CommonsManager.angleToCardinal(45), 'north east')
     self.assertEqual(CommonsManager.angleToCardinal(135), 'south east')
     self.assertEqual(CommonsManager.angleToCardinal(225), 'south west')
     self.assertEqual(CommonsManager.angleToCardinal(315), 'north west')
コード例 #16
0
    def test_parseCustomData(self):
        class MQTTMessage:
            def __init__(self, payload):
                self.payload = payload

        self.assertEqual(CommonsManager.parseCustomData(MQTTMessage(None)),
                         dict())
        self.assertEqual(
            CommonsManager.parseCustomData(
                MQTTMessage(b'{"customData": "nonJsonString"}')), dict())
        self.assertEqual(
            CommonsManager.parseCustomData(
                MQTTMessage(b'{"customData": null}')), dict())
        self.assertEqual(
            CommonsManager.parseCustomData(
                MQTTMessage('{"customData": "{\\"test\\": \\"test\\"}"}')),
            {'test': 'test'})
コード例 #17
0
ファイル: SuperManager.py プロジェクト: aluavin/ProjectAlice
    def initManagers(self):
        from core.commons.CommonsManager import CommonsManager
        from core.base.ConfigManager import ConfigManager
        from core.base.ModuleManager import ModuleManager
        from core.device.DeviceManager import DeviceManager
        from core.dialog.DialogSessionManager import DialogSessionManager
        from core.dialog.MultiIntentManager import MultiIntentManager
        from core.dialog.ProtectedIntentManager import ProtectedIntentManager
        from core.server.MqttManager import MqttManager
        from core.snips.SamkillaManager import SamkillaManager
        from core.snips.SnipsConsoleManager import SnipsConsoleManager
        from core.snips.SnipsServicesManager import SnipsServicesManager
        from core.user.UserManager import UserManager
        from core.util.DatabaseManager import DatabaseManager
        from core.util.InternetManager import InternetManager
        from core.util.TelemetryManager import TelemetryManager
        from core.util.ThreadManager import ThreadManager
        from core.util.TimeManager import TimeManager
        from core.voice.ASRManager import ASRManager
        from core.voice.LanguageManager import LanguageManager
        from core.voice.TalkManager import TalkManager
        from core.voice.TTSManager import TTSManager
        from core.voice.WakewordManager import WakewordManager
        from core.interface.WebInterfaceManager import WebInterfaceManager
        from core.snips.SnipsWatchManager import SnipsWatchManager

        self.commonsManager = CommonsManager()
        self.commons = self.commonsManager
        self.configManager = ConfigManager()
        self.databaseManager = DatabaseManager()
        self.languageManager = LanguageManager()
        self.snipsServicesManager = SnipsServicesManager()
        self.asrManager = ASRManager()
        self.ttsManager = TTSManager()
        self.threadManager = ThreadManager()
        self.protectedIntentManager = ProtectedIntentManager()
        self.mqttManager = MqttManager()
        self.timeManager = TimeManager()
        self.userManager = UserManager()
        self.dialogSessionManager = DialogSessionManager()
        self.multiIntentManager = MultiIntentManager()
        self.telemetryManager = TelemetryManager()
        self.moduleManager = ModuleManager()
        self.deviceManager = DeviceManager()
        self.internetManager = InternetManager()
        self.snipsConsoleManager = SnipsConsoleManager()
        self.samkillaManager = SamkillaManager()
        self.wakewordManager = WakewordManager()
        self.talkManager = TalkManager()
        self.webInterfaceManager = WebInterfaceManager()
        self.snipsWatchManager = SnipsWatchManager()

        self._managers = {
            name[0].upper() + name[1:]: manager
            for name, manager in self.__dict__.items()
            if name.endswith('Manager')
        }
コード例 #18
0
    def test_indexOf(self):
        string1 = 'unittest'
        string2 = 'unit test'
        string3 = 'unnittest'
        string4 = 'test'

        self.assertEqual(CommonsManager.indexOf('unittest', string1), 0)
        self.assertEqual(CommonsManager.indexOf('unittest', string2), -1)
        self.assertEqual(CommonsManager.indexOf('unittest', string3), -1)
        self.assertEqual(CommonsManager.indexOf('unit', string4), -1)
        self.assertEqual(CommonsManager.indexOf('test', string1), 4)
        self.assertEqual(CommonsManager.indexOf('nn', string3), 1)
コード例 #19
0
    def test_payload(self):
        class MQTTMessage(object):
            def __init__(self, payload):
                self.payload = payload
                self.topic = 'test'

        self.assertEqual(CommonsManager.payload(MQTTMessage(None)),
                         {'test': None})
        self.assertEqual(CommonsManager.payload(MQTTMessage(b'\x81')),
                         {'test': b'\x81'})
        self.assertEqual(CommonsManager.payload(MQTTMessage('{"test": 2}')),
                         {'test': 2})
        self.assertEqual(CommonsManager.payload(MQTTMessage(b'{"test": 2}')),
                         {'test': 2})
        self.assertEqual(CommonsManager.payload(MQTTMessage('true')),
                         {'test': True})
        self.assertEqual(CommonsManager.payload(MQTTMessage('false')),
                         {'test': False})
        self.assertEqual(CommonsManager.payload(MQTTMessage(b'true')),
                         {'test': True})
コード例 #20
0
 def test_getFunctionCaller(self):
     self.assertEqual(CommonsManager.getFunctionCaller(1),
                      'test_CommonsManager')
コード例 #21
0
    def initManagers(self):
        from core.commons.CommonsManager import CommonsManager
        from core.base.ConfigManager import ConfigManager
        from core.base.SkillManager import SkillManager
        from core.device.DeviceManager import DeviceManager
        from core.device.LocationManager import LocationManager
        from core.dialog.MultiIntentManager import MultiIntentManager
        from core.server.MqttManager import MqttManager
        from core.user.UserManager import UserManager
        from core.util.DatabaseManager import DatabaseManager
        from core.util.InternetManager import InternetManager
        from core.util.TelemetryManager import TelemetryManager
        from core.util.ThreadManager import ThreadManager
        from core.util.TimeManager import TimeManager
        from core.asr.ASRManager import ASRManager
        from core.voice.LanguageManager import LanguageManager
        from core.voice.TalkManager import TalkManager
        from core.voice.TTSManager import TTSManager
        from core.voice.WakewordRecorder import WakewordRecorder
        from core.interface.WebInterfaceManager import WebInterfaceManager
        from core.interface.NodeRedManager import NodeRedManager
        from core.base.SkillStoreManager import SkillStoreManager
        from core.dialog.DialogTemplateManager import DialogTemplateManager
        from core.base.AssistantManager import AssistantManager
        from core.nlu.NluManager import NluManager
        from core.util.AliceWatchManager import AliceWatchManager
        from core.server.AudioServer import AudioManager
        from core.dialog.DialogManager import DialogManager
        from core.voice.WakewordManager import WakewordManager

        self.commonsManager = CommonsManager()
        self.commons = self.commonsManager
        self.configManager = ConfigManager()
        self.databaseManager = DatabaseManager()
        self.skillManager = SkillManager()
        self.deviceManager = DeviceManager()
        self.audioManager = AudioManager()
        self.languageManager = LanguageManager()
        self.asrManager = ASRManager()
        self.ttsManager = TTSManager()
        self.threadManager = ThreadManager()
        self.mqttManager = MqttManager()
        self.timeManager = TimeManager()
        self.userManager = UserManager()
        self.multiIntentManager = MultiIntentManager()
        self.telemetryManager = TelemetryManager()
        self.locationManager = LocationManager()
        self.internetManager = InternetManager()
        self.wakewordRecorder = WakewordRecorder()
        self.talkManager = TalkManager()
        self.webInterfaceManager = WebInterfaceManager()
        self.nodeRedManager = NodeRedManager()
        self.skillStoreManager = SkillStoreManager()
        self.dialogTemplateManager = DialogTemplateManager()
        self.assistantManager = AssistantManager()
        self.nluManager = NluManager()
        self.aliceWatchManager = AliceWatchManager()
        self.dialogManager = DialogManager()
        self.wakewordManager = WakewordManager()

        self._managers = {
            name[0].upper() + name[1:]: manager
            for name, manager in self.__dict__.items()
            if name.endswith('Manager')
        }
コード例 #22
0
 def test_isSpelledWord(self):
     """Test whether string is spelled"""
     self.assertTrue(CommonsManager.isSpelledWord('e x a m p l e'))
     self.assertFalse(CommonsManager.isSpelledWord('example'))
     self.assertFalse(CommonsManager.isSpelledWord('e x am p l e'))
コード例 #23
0
 def test_clamp(self):
     self.assertEqual(CommonsManager.clamp(4.5, 4, 5), 4.5)
     self.assertEqual(CommonsManager.clamp(5, 4, 4.6), 4.6)
     self.assertEqual(CommonsManager.clamp(4, 4.4, 5), 4.4)
     self.assertEqual(CommonsManager.clamp(1, -2, -1), -1)