Merge pull request #2252 from guardicore/2217-remove-unused-code

2217 remove unused code
This commit is contained in:
VakarisZ 2022-09-07 16:58:42 +03:00 committed by GitHub
commit 6891c82a46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 1 additions and 132 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 .timer import Timer
from .IJSONSerializable import IJSONSerializable

View File

@ -52,7 +52,6 @@ from monkey_island.cc.resources.version import Version
from monkey_island.cc.resources.zero_trust.finding_event import ZeroTrustFindingEvent from monkey_island.cc.resources.zero_trust.finding_event import ZeroTrustFindingEvent
from monkey_island.cc.resources.zero_trust.zero_trust_report import ZeroTrustReport from monkey_island.cc.resources.zero_trust.zero_trust_report import ZeroTrustReport
from monkey_island.cc.server_utils.consts import MONKEY_ISLAND_ABS_PATH from monkey_island.cc.server_utils.consts import MONKEY_ISLAND_ABS_PATH
from monkey_island.cc.server_utils.custom_json_encoder import CustomJSONEncoder
from monkey_island.cc.services.representations import output_json from monkey_island.cc.services.representations import output_json
HOME_FILE = "index.html" HOME_FILE = "index.html"
@ -97,7 +96,6 @@ def init_app_config(app, mongo_url):
app.config["JSON_SORT_KEYS"] = False app.config["JSON_SORT_KEYS"] = False
app.url_map.strict_slashes = False app.url_map.strict_slashes = False
app.json_encoder = CustomJSONEncoder
def init_app_services(app): def init_app_services(app):

View File

@ -1,12 +0,0 @@
from bson import ObjectId, json_util
from flask.json import JSONEncoder
class CustomJSONEncoder(JSONEncoder):
def default(self, obj):
try:
if isinstance(obj, ObjectId):
return json_util.dumps(obj)
except TypeError:
pass
return JSONEncoder.default(self, obj)

View File

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

View File

@ -1,73 +0,0 @@
import Form from 'react-jsonschema-form-bs4';
import React, {useState} from 'react';
import {Nav} from 'react-bootstrap';
const sectionOrder = [
'network',
'exploits',
'classes',
'general'
];
const initialSection = sectionOrder[0];
export default function InternalConfig(props) {
const {
schema,
uiSchema,
onChange,
customFormats,
className,
formData
} = props;
const [selectedSection, setSelectedSection] = useState(initialSection);
const [displayedSchema, setDisplayedSchema] = useState(getSchemaByKey(schema, initialSection));
const [displayedSchemaUi, setDisplayedSchemaUi] = useState(uiSchema[initialSection]);
const onInnerDataChange = (innerData) => {
formData[selectedSection] = innerData.formData;
onChange({formData: formData});
}
const setSection = (sectionKey) => {
setSelectedSection(sectionKey);
setDisplayedSchema(getSchemaByKey(schema, sectionKey));
setDisplayedSchemaUi(uiSchema[sectionKey]);
}
const renderNav = () => {
return (<Nav variant='tabs'
fill
activeKey={selectedSection} onSelect={setSection}
style={{'marginBottom': '2em'}}
className={'config-nav'}>
{sectionOrder.map(section => {
return (
<Nav.Item key={section}>
<Nav.Link eventKey={section}>{getNavTitle(schema, section)}</Nav.Link>
</Nav.Item>);
})}
</Nav>)
}
return (<div>
{renderNav()}
<Form schema={displayedSchema}
uiSchema={displayedSchemaUi}
formData={formData[selectedSection]}
onChange={onInnerDataChange}
customFormats={customFormats}
className={className}
liveValidate>
<button type='submit' className={'hidden'}>Submit</button>
</Form>
</div>)
}
function getSchemaByKey(schema, key) {
let definitions = schema['definitions'];
return {definitions: definitions, properties: schema['properties'][key]['properties']};
}
function getNavTitle(schema, key) {
return schema.properties[key].title;
}

View File

@ -5,7 +5,6 @@ from enum import Enum
import bson import bson
from common.utils import IJSONSerializable
from monkey_island.cc.services.representations import APIEncoder 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")}] bogus_tuple = [{"my_tuple": (bogus_object1, bogus_object2, "string")}]
expected_tuple = [{"my_tuple": ({"a": 1}, {"a": 2}, "string")}] expected_tuple = [{"my_tuple": ({"a": 1}, {"a": 2}, "string")}]
assert json.dumps(expected_tuple) == json.dumps(bogus_tuple, cls=APIEncoder) 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
CC_TUNNEL CC_TUNNEL
# TODO Remove with #2217
IJSONSerializable
from_json
IslandEventTopic.AGENT_CONNECTED IslandEventTopic.AGENT_CONNECTED
IslandEventTopic.CLEAR_SIMULATION_DATA IslandEventTopic.CLEAR_SIMULATION_DATA
IslandEventTopic.RESET_AGENT_CONFIGURATION IslandEventTopic.RESET_AGENT_CONFIGURATION