Common: Delete IJSONSerializable.py

This interface is no longer used (replaced by pydantic objects)
This commit is contained in:
vakaris_zilius 2022-09-07 09:25:50 +00:00
parent b7e6435ced
commit 895de8c720
5 changed files with 1 additions and 45 deletions

View File

@ -1,15 +0,0 @@
from __future__ import annotations
from abc import ABC, abstractmethod
class IJSONSerializable(ABC):
@classmethod
@abstractmethod
def from_json(cls, json_string: str) -> IJSONSerializable:
pass
@classmethod
@abstractmethod
def to_json(cls, class_object: IJSONSerializable) -> str:
pass

View File

@ -1,2 +1 @@
from .timer import Timer
from .IJSONSerializable import IJSONSerializable

View File

@ -1,14 +1,12 @@
from datetime import datetime
from enum import Enum
from json import JSONEncoder, dumps, loads
from json import JSONEncoder, dumps
from typing import Any
import bson
from flask import make_response
from pydantic import BaseModel
from common.utils import IJSONSerializable
class APIEncoder(JSONEncoder):
def default(self, value: Any) -> Any:
@ -20,8 +18,6 @@ class APIEncoder(JSONEncoder):
return str(value)
if issubclass(type(value), Enum):
return value.name
if issubclass(type(value), IJSONSerializable):
return loads(value.__class__.to_json(value))
if issubclass(type(value), set):
return list(value)
if issubclass(type(value), BaseModel):

View File

@ -5,7 +5,6 @@ from enum import Enum
import bson
from common.utils import IJSONSerializable
from monkey_island.cc.services.representations import APIEncoder
@ -73,22 +72,3 @@ def test_api_encoder_tuple():
bogus_tuple = [{"my_tuple": (bogus_object1, bogus_object2, "string")}]
expected_tuple = [{"my_tuple": ({"a": 1}, {"a": 2}, "string")}]
assert json.dumps(expected_tuple) == json.dumps(bogus_tuple, cls=APIEncoder)
class BogusSerializableClass(IJSONSerializable):
def __init__(self, a):
self.a = a
@classmethod
def to_json(cls, class_object: IJSONSerializable) -> str:
return json.dumps({"wacky": class_object.a})
@classmethod
def from_json(cls, json_string: str) -> IJSONSerializable:
pass
def test_api_encoder_json_serializable():
bogus_data = {"target": [BogusSerializableClass("macky")]}
expected_result = {"target": [{"wacky": "macky"}]}
assert json.dumps(expected_result) == json.dumps(bogus_data, cls=APIEncoder)

View File

@ -316,10 +316,6 @@ EXPLOITED
CC
CC_TUNNEL
# TODO Remove with #2217
IJSONSerializable
from_json
IslandEventTopic.AGENT_CONNECTED
IslandEventTopic.CLEAR_SIMULATION_DATA
IslandEventTopic.RESET_AGENT_CONFIGURATION