Skip to content

Commit e587ce7

Browse files
authored
Revert "mfinder second commit, most functions moved to util file. Modified in…"
1 parent 77cfe4b commit e587ce7

File tree

3 files changed

+1
-280
lines changed

3 files changed

+1
-280
lines changed

api/resources/interactions.py

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
"""
66

77
from flask_restx import Namespace, Resource, fields
8-
from flask import request, jsonify
8+
from flask import request
99
from markupsafe import escape
1010
from api.utils.bar_utils import BARUtils
11-
from api.utils.mfinder_utils import MfinderUtils
1211
from marshmallow import Schema, ValidationError, fields as marshmallow_fields
1312
from api import db
1413
from api.models.rice_interactions import Interactions as RiceInteractions
@@ -157,26 +156,3 @@ def post(self):
157156
return BARUtils.success_exit(res)
158157
else:
159158
return BARUtils.error_exit("No data for the given species/genes"), 400
160-
161-
162-
@itrns.route("/mfinder")
163-
class MFinder(Resource):
164-
@itrns.expect(post_int_data)
165-
def post(self):
166-
"""This endpoint was originally written by Vincent Lau to return mFinder
167-
results to AGENT in his express node.JS app. However Tianhui Zhao refactored
168-
to the BAR_API
169-
"""
170-
data = request.get_json()
171-
# Validate json
172-
try:
173-
data = MFinderDataSchema().load(data)
174-
except ValidationError as err:
175-
return BARUtils.error_exit(err.messages), 400
176-
177-
filtered_valid_arr = MfinderUtils.input_validation(data["data"])
178-
if isinstance(filtered_valid_arr, str):
179-
return BARUtils.error_exit(filtered_valid_arr), 400
180-
settings = MfinderUtils.settings_validation(data.get("options", {}))
181-
ret_json = MfinderUtils.create_files_and_mfinder(filtered_valid_arr, settings)
182-
return jsonify(MfinderUtils.beautify_results(ret_json))

api/utils/mfinder_utils.py

Lines changed: 0 additions & 200 deletions
This file was deleted.

tests/resources/test_interactions.py

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from api import app
22
from unittest import TestCase
33
import json
4-
from json import load
54

65

76
class TestIntegrations(TestCase):
@@ -132,57 +131,3 @@ def test_post_itrns(self):
132131
"error": "No data for the given species/genes",
133132
}
134133
self.assertEqual(data, expected)
135-
136-
def test_mfinder(self):
137-
"""
138-
This function test mfinder via POST.
139-
"""
140-
# Valid request
141-
with open("tests/data/mfinder_input.json") as json_file_1:
142-
input_data = load(json_file_1)
143-
response = self.app_client.post(
144-
"/interactions/mfinder",
145-
json=input_data,
146-
)
147-
data = json.loads(response.get_data(as_text=True))
148-
with open("tests/data/mfinder_output.json") as json_file_2:
149-
expected = load(json_file_2)
150-
self.assertEqual(data, expected)
151-
152-
# Invalid data structure
153-
response = self.app_client.post("/interactions/mfinder", json={"data": {}})
154-
data = json.loads(response.get_data(as_text=True))
155-
expected = {"wasSuccessful": False, "error": {"data": ["Not a valid list."]}}
156-
self.assertEqual(data, expected)
157-
158-
response = self.app_client.post("/interactions/mfinder", json={"data": []})
159-
data = json.loads(response.get_data(as_text=True))
160-
expected = {"wasSuccessful": False, "error": "arr length 0!"}
161-
self.assertEqual(data, expected)
162-
163-
response = self.app_client.post(
164-
"/interactions/mfinder", json={"data": [["AT5G67420", "AT1G12110"], ["AT5G67420"]]}
165-
)
166-
data = json.loads(response.get_data(as_text=True))
167-
expected = {"wasSuccessful": False, "error": "inner arr length is not of length 2!"}
168-
self.assertEqual(data, expected)
169-
170-
response = self.app_client.post("/interactions/mfinder", json={"data": [["AT5G67420", "AT1G12110"], 1]})
171-
data = json.loads(response.get_data(as_text=True))
172-
expected = {"wasSuccessful": False, "error": {"data": {"1": ["Not a valid list."]}}}
173-
self.assertEqual(data, expected)
174-
175-
response = self.app_client.post(
176-
"/interactions/mfinder", json={"data": [["AT5G67420", "AT1G12110"], ["AT5G67420", 1]]}
177-
)
178-
data = json.loads(response.get_data(as_text=True))
179-
expected = {"wasSuccessful": False, "error": {"data": {"1": {"1": ["Not a valid string."]}}}}
180-
self.assertEqual(data, expected)
181-
182-
# Invalid gene ID
183-
response = self.app_client.post(
184-
"/interactions/mfinder", json={"data": [["AT1G01010", "AT5G01010"], ["001G01030", "AT2G03240"]]}
185-
)
186-
data = json.loads(response.get_data(as_text=True))
187-
expected = {"wasSuccessful": False, "error": "Invalid gene ID contained!"}
188-
self.assertEqual(data, expected)

0 commit comments

Comments
 (0)