Ejemplo n.º 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)
Ejemplo n.º 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'
		)
Ejemplo n.º 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))
	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'))
Ejemplo n.º 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))
Ejemplo n.º 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")
	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')
Ejemplo n.º 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)
Ejemplo n.º 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')
Ejemplo n.º 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"
        })
Ejemplo n.º 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})
Ejemplo n.º 12
0
    def test_parseSlotsToObjects(self):
        class MQTTMessage:
            def __init__(self, payload):
                self.payload = payload

        self.assertEqual(CommonsManager.parseSlotsToObjects(MQTTMessage(None)),
                         dict())
Ejemplo n.º 13
0
 def test_dictMaxValue(self):
     self.assertEqual(
         CommonsManager.dictMaxValue({
             'first': 1,
             'second': 3,
             'third': 2
         }), 'second')
Ejemplo n.º 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')
        }
Ejemplo n.º 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')
Ejemplo n.º 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'})
Ejemplo n.º 17
0
    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')
        }
Ejemplo n.º 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)
    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})
Ejemplo n.º 20
0
 def test_getFunctionCaller(self):
     self.assertEqual(CommonsManager.getFunctionCaller(1),
                      'test_CommonsManager')
Ejemplo n.º 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')
        }
Ejemplo n.º 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'))
Ejemplo n.º 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)