Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSON serialize the endpoint output and add tests #1679

Merged
merged 3 commits into from
Sep 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions raiwidgets/raiwidgets/responsibleai_dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,42 +51,35 @@ def predict():
def tree():
data = request.get_json(force=True)
return jsonify(self.input.debug_ml(data))

self.add_url_rule(tree, '/tree', methods=["POST"])

def matrix():
data = request.get_json(force=True)
return jsonify(self.input.matrix(data))

self.add_url_rule(matrix, '/matrix', methods=["POST"])

def causal_whatif():
data = request.get_json(force=True)
return jsonify(self.input.causal_whatif(data))

self.add_url_rule(causal_whatif, '/causal_whatif', methods=["POST"])

def global_causal_effects():
data = request.get_json(force=True)
return jsonify(self.input.get_global_causal_effects(data))

self.add_url_rule(global_causal_effects, '/global_causal_effects',
methods=["POST"])

def global_causal_policy():
data = request.get_json(force=True)
return jsonify(self.input.get_global_causal_policy(data))

self.add_url_rule(global_causal_policy, '/global_causal_policy',
methods=["POST"])

def importances():
return jsonify(self.input.importances())

self.add_url_rule(importances, '/importances', methods=["POST"])

def get_exp():
data = request.get_json(force=True)
return jsonify(self.input.get_exp(data))

self.add_url_rule(get_exp, '/get_exp', methods=["POST"])
5 changes: 5 additions & 0 deletions raiwidgets/tests/common_utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Copyright (c) Microsoft Corporation
# Licensed under the MIT License.

import json

from raiwidgets.interfaces import WidgetRequestResponseConstants


Expand All @@ -12,6 +14,9 @@ def check_success_criteria(self, flask_server_prediction_output):
assert WidgetRequestResponseConstants.error not in \
flask_server_prediction_output

json.dumps(flask_server_prediction_output[
gaugup marked this conversation as resolved.
Show resolved Hide resolved
WidgetRequestResponseConstants.data])

def check_failure_criteria(self, flask_server_prediction_output,
expected_error_message):
assert WidgetRequestResponseConstants.data in \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import pytest
from common_utils import CheckResponsibleAIDashboardInputTestResult

from raiutils.data_processing import serialize_json_safe
from raiwidgets.responsibleai_dashboard_input import \
ResponsibleAIDashboardInput

Expand Down Expand Up @@ -68,8 +69,9 @@ def test_rai_dashboard_input_housing_causal_global_effects_success(
post_data = (id, filters, [])

flask_server_prediction_output = \
dashboard_input.get_global_causal_effects(
post_data)
serialize_json_safe(
dashboard_input.get_global_causal_effects(
post_data))

self.check_success_criteria(flask_server_prediction_output)

Expand Down Expand Up @@ -104,8 +106,9 @@ def test_rai_dashboard_input_housing_causal_global_policy_success(
post_data = (id, filters, [])

flask_server_prediction_output = \
dashboard_input.get_global_causal_policy(
post_data)
serialize_json_safe(
dashboard_input.get_global_causal_policy(
post_data))

self.check_success_criteria(flask_server_prediction_output)

Expand Down