def test_metadata(self): gps = ParseGpsxml(get_asset_dic() + "/gpspoint.gpsxml") meta = gps.get_metadata() self.assertDictEqual(meta, { "gps_version": 5, "start_time": "2014-11-15 14:05:57", "file": "/root/kismet-log/Kismet-20141115_14-05-58.netxml" })
def test_metadata(self): gps = ParseGpsxml(get_asset_dic() + "/gpspoint.gpsxml") meta = gps.get_metadata() self.assertDictEqual( meta, { "gps_version": 5, "start_time": "2014-11-15 14:05:57", "file": "/root/kismet-log/Kismet-20141115_14-05-58.netxml" })
def test_get_points(self): gps_points = { "gpspoint": ParseGpsxml.GPS_POINTS_ALL, "gpspoint_tracks": ParseGpsxml.GPS_POINTS_TRACKS, "gpspoint_zeros": ParseGpsxml.GPS_POINTS_ZEROS, "gpspoint_networks": ParseGpsxml.GPS_POINTS_NETWORKS } for filename, gps_point in gps_points.items(): gps = ParseGpsxml(get_asset_dic() + "/gpspoint.gpsxml", gps_point) data = [] for i in gps.get_points(): data.append(i) expected = "" with open(get_asset_dic() + "/" + filename + ".gpsxml.json") as f: expected = json.loads(f.read()) self.assertListEqual(expected, data)
def test_get_points(self): gps_points = { "gpspoint": ParseGpsxml.GPS_POINTS_ALL, "gpspoint_tracks": ParseGpsxml.GPS_POINTS_TRACKS, "gpspoint_zeros": ParseGpsxml.GPS_POINTS_ZEROS, "gpspoint_networks": ParseGpsxml.GPS_POINTS_NETWORKS } for filename, gps_point in gps_points.items(): gps = ParseGpsxml(get_asset_dic() + "/gpspoint.gpsxml", gps_point) data = [] for i in gps.get_points(): data.append(i) expected = "" with open(get_asset_dic() + "/" + filename + ".gpsxml.json") as f: expected = json.loads(f.read()) self.assertListEqual(expected, data)
def insert(self): print(json.dumps(self._files, indent=4)) for file in self._files: gpsxml = file + ".gpsxml" netxml = file + ".netxml" meta = {} gps = ParseGpsxml(file=gpsxml, date_format="%Y-%m-%dT%H:%M:%S.0") meta.update(gps.get_metadata()) elk_meta = self._elk.search(doc_type="files", size=1, q="file:\"%s\"" % (meta["file"],)) if elk_meta["hits"]["total"] > 0: print("File %s exists in elasticsearch!" % (netxml,)) continue try: net = ParseNetxml(file=netxml, date_format="%Y-%m-%dT%H:%M:%S.0") meta.update(net.get_metadata()) meta["time"] = meta["start_time"] del meta["start_time"] file_id = self._elk.insert("files", meta)["_id"] print("Inserting networks to database from " + netxml) net = InsertNetxmlElk(self._elk, netxml, file_id) net.insert() print("Inserting gpspoints to database from " + gpsxml) gps = InsertGpsxmlElk(self._elk, gpsxml, file_id) gps.insert() except Exception as e: print("Error :( " + str(e))