示例#1
0
 def test_json_serializer_with_geoobject_adapter(self):
     """
     test new serialization in contrast with legacy serializer to ensure compatibility
     """
     from FreeTAKServer.model.FTSModel.Event import Event
     from FreeTAKServer.controllers.serializers.api_adapters.api_adapters import GeoObjectAdapter
     basejson = {
         "attitude": "friendly",
         "how": "nonCoT",
         "name": "testing",
         "latitude": "37.5677889",
         "longitude": "12.345678",
         "geoObject": "Ground",
         "timeout": "120"
     }
     jsonobj = JsonController().serialize_geoobject_post(basejson)
     simpleCoTObject = SendSimpleCoTController(jsonobj).getCoTObject()
     xml_legacy = etree.fromstring(simpleCoTObject.xmlString)
     xml_legacy.attrib['uid'] = '123'
     xml_legacy.attrib['time'] = '24'
     xml_legacy.attrib['start'] = '849'
     xml_legacy.attrib['stale'] = '3333'
     newObject = GeoObjectAdapter().from_api_to_fts_object(basejson)
     xml_updated = etree.fromstring(newObject.xmlString)
     xml_updated.attrib['uid'] = '123'
     xml_updated.attrib['time'] = '24'
     xml_updated.attrib['start'] = '849'
     xml_updated.attrib['stale'] = '3333'
     xml_legacy = etree.tostring(xml_legacy).decode()
     xml_updated = etree.tostring(xml_updated).decode()
     self.assertEqual(xml_legacy, xml_updated)
示例#2
0
 def test_json_serializer_with_presence_adapter(self):
     from FreeTAKServer.model.FTSModel.Event import Event
     from FreeTAKServer.controllers.RestMessageControllers.SendPresenceController import SendPresenceController
     from FreeTAKServer.controllers.serializers.api_adapters.api_adapters import PresenceAdapter
     basejson = {
         "how": "nonCoT",
         "name": "testing",
         "latitude": "34.5677889",
         "longitude": "12.345678",
         "role": "Team Member",
         "team": "Cyan"
     }
     jsonobj = JsonController().serialize_presence_post(basejson)
     simpleCoTObject = SendPresenceController(jsonobj).getCoTObject()
     xml_legacy = etree.fromstring(simpleCoTObject.xmlString)
     xml_legacy.attrib['uid'] = '123'
     xml_legacy.attrib['time'] = '24'
     xml_legacy.attrib['start'] = '849'
     xml_legacy.attrib['stale'] = '3333'
     newObject = PresenceAdapter().from_api_to_fts_object(basejson)
     xml_updated = etree.fromstring(newObject.xmlString)
     xml_updated.attrib['uid'] = '123'
     xml_updated.attrib['time'] = '24'
     xml_updated.attrib['start'] = '849'
     xml_updated.attrib['stale'] = '3333'
     xml_legacy = etree.tostring(xml_legacy).decode()
     xml_updated = etree.tostring(xml_updated).decode()
     self.assertEqual(xml_legacy, xml_updated)
示例#3
0
    def create_geoobject(json_data: dict) -> object:
        """
        create a geoobject FTSModel Object From information specified in supplied JSON argument

        @param json_data:
        @return:
        """
        jsonobj = JsonController().serialize_geoobject_post(json_data)
        simpleCoTObject = SendSimpleCoTController(jsonobj).getCoTObject()
        return simpleCoTObject
示例#4
0
def deleteEmergency():
    try:
        from json import dumps
        jsondata = request.get_json(force=True)
        jsonobj = JsonController().serialize_emergency_delete(jsondata)
        EmergencyObject = SendEmergencyController(jsonobj).getCoTObject()
        APIPipe.send(EmergencyObject)
        return 'success', 200
    except Exception as e:
        return str(e), 500
示例#5
0
def postEmergency():
    try:
        from json import dumps

        jsondata = request.get_json(force=True)
        jsonobj = JsonController().serialize_emergency_post(jsondata)
        EmergencyObject = SendEmergencyController(jsonobj).getCoTObject()
        APIPipe.send(EmergencyObject)
        return EmergencyObject.modelObject.getuid(), 200
    except Exception as e:
        return str(e), 200
示例#6
0
def postChatToAll():
    try:
        from json import dumps
        #jsondata = {'message': 'test abc', 'sender': 'natha'}
        jsondata = request.get_json(force=True)
        jsonobj = JsonController().serialize_chat_post(jsondata)
        ChatObject = SendChatController(jsonobj).getCoTObject()
        APIPipe.send(ChatObject)
        return 'success', 200
    except Exception as e:
        return str(e), 500
示例#7
0
def postGeoObject():
    try:
        from json import dumps
        #jsondata = {'longitude': '12.345678', 'latitude': '34.5677889', 'attitude': 'friend', 'geoObject': 'Ground', 'how': 'nonCoT', 'name': 'testing123'}
        jsondata = request.get_json(force=True)
        jsonobj = JsonController().serialize_geoobject_post(jsondata)
        simpleCoTObject = SendSimpleCoTController(jsonobj).getCoTObject()
        APIPipe.send(simpleCoTObject)
        return simpleCoTObject.modelObject.getuid(), 200
    except Exception as e:
        return str(e), 500
示例#8
0
def postPresence():
    try:
        from json import dumps
        #jsondata = {'longitude': '12.345678', 'latitude': '34.5677889', 'how': 'nonCoT', 'name': 'testing123'}
        jsondata = request.get_json(force=True)
        jsonobj = JsonController().serialize_presence_post(jsondata)
        Presence = SendPresenceController(jsonobj).getCoTObject()
        APIPipe.send(Presence)
        return Presence.modelObject.getuid(), 200
    except Exception as e:
        return str(e), 500
示例#9
0
    def create_emergency(json_data: dict) -> object:
        """

        @rtype: Event 
        @param json_data:
        @type json_data: dict
        @return emergency_object:
        """
        json_obj = JsonController().serialize_emergency_post(json_data)
        emergency_object = SendEmergencyController(json_obj).getCoTObject()
        return emergency_object
示例#10
0
    def create_presence(jsondata: dict) -> object:
        """
        create a presence FTSModel Object from information specified in supplied Json argument

        @type: object
        @param jsondata:
        @return Event:
        @raise Exception:
        """
        try:
            json_obj = JsonController().serialize_presence_post(jsondata)
            presence = SendPresenceController(json_obj).getCoTObject()
            return presence

        except Exception as e:
            raise e
示例#11
0
 def test_json_serializer_with_chat_adapter(self):
     from FreeTAKServer.controllers.serializers.api_adapters.api_adapters import ChatAdapter
     basejson = {"message": "testing", "sender": "apiuser"}
     jsonobj = JsonController().serialize_chat_post(basejson)
     simpleCoTObject = SendChatController(jsonobj).getCoTObject()
     xml_legacy = etree.fromstring(simpleCoTObject.xmlString)
     xml_legacy.attrib['uid'] = '123'
     xml_legacy.attrib['time'] = '24'
     xml_legacy.attrib['start'] = '849'
     xml_legacy.attrib['stale'] = '3333'
     newObject = ChatAdapter().from_api_to_fts_object(basejson)
     xml_updated = etree.fromstring(newObject.xmlString)
     xml_updated.attrib['uid'] = '123'
     xml_updated.attrib['time'] = '24'
     xml_updated.attrib['start'] = '849'
     xml_updated.attrib['stale'] = '3333'
     xml_legacy = etree.tostring(xml_legacy).decode()
     xml_updated = etree.tostring(xml_updated).decode()
     self.assertEqual(xml_legacy, xml_updated)
示例#12
0
 def test_json_serializer_with_emergency_adapter(self):
     from FreeTAKServer.controllers.RestMessageControllers.SendEmergencyController import SendEmergencyController
     from FreeTAKServer.controllers.serializers.api_adapters.api_adapters import EmergencyOnAdapter
     basejson = {"emergencyType": "911 Alert", "name": "test"}
     jsonobj = JsonController().serialize_emergency_post(basejson)
     EmergencyObject = SendEmergencyController(jsonobj).getCoTObject()
     xml_legacy = etree.fromstring(EmergencyObject.xmlString)
     xml_legacy.attrib['uid'] = '123'
     xml_legacy.attrib['time'] = '24'
     xml_legacy.attrib['start'] = '849'
     xml_legacy.attrib['stale'] = '3333'
     newObject = EmergencyOnAdapter().from_api_to_fts_object(basejson)
     xml_updated = etree.fromstring(newObject.xmlString)
     xml_updated.attrib['uid'] = '123'
     xml_updated.attrib['time'] = '24'
     xml_updated.attrib['start'] = '849'
     xml_updated.attrib['stale'] = '3333'
     xml_legacy = etree.tostring(xml_legacy).decode()
     xml_updated = etree.tostring(xml_updated).decode()
     self.assertEqual(xml_legacy, xml_updated)
示例#13
0
 def create_chat_to_all(json_data: dict) -> object:
     """ create a chat to all object
     """
     json_obj = JsonController().serialize_chat_post(json_data)
     chat_object = SendChatController(json_obj).getCoTObject()
     return chat_object