Fixed set_initial_no_auth_action_count not working in server mode.
This commit is contained in:
parent
eb4a3ea90b
commit
1969338a8a
@ -7,6 +7,7 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import io
|
import io
|
||||||
|
import requests
|
||||||
|
|
||||||
import pytz
|
import pytz
|
||||||
|
|
||||||
@ -128,15 +129,23 @@ class ActionAuthenticatorMixin(object):
|
|||||||
def set_initial_no_auth_action_count(initial_no_auth_action_count):
|
def set_initial_no_auth_action_count(initial_no_auth_action_count):
|
||||||
def decorator(function):
|
def decorator(function):
|
||||||
def wrapper(*args, **kwargs):
|
def wrapper(*args, **kwargs):
|
||||||
original_initial_no_auth_action_count = settings.INITIAL_NO_AUTH_ACTION_COUNT
|
if settings.TEST_SERVER_MODE:
|
||||||
original_request_count = ActionAuthenticatorMixin.request_count
|
response = requests.get("http://localhost:5000/moto-api/reset-auth")
|
||||||
settings.INITIAL_NO_AUTH_ACTION_COUNT = initial_no_auth_action_count
|
original_initial_no_auth_action_count = response.json()['INITIAL_NO_AUTH_ACTION_COUNT']
|
||||||
ActionAuthenticatorMixin.request_count = 0
|
requests.post("http://localhost:5000/moto-api/reset-auth", data=str(initial_no_auth_action_count).encode())
|
||||||
|
else:
|
||||||
|
original_initial_no_auth_action_count = settings.INITIAL_NO_AUTH_ACTION_COUNT
|
||||||
|
original_request_count = ActionAuthenticatorMixin.request_count
|
||||||
|
settings.INITIAL_NO_AUTH_ACTION_COUNT = initial_no_auth_action_count
|
||||||
|
ActionAuthenticatorMixin.request_count = 0
|
||||||
try:
|
try:
|
||||||
result = function(*args, **kwargs)
|
result = function(*args, **kwargs)
|
||||||
finally:
|
finally:
|
||||||
settings.INITIAL_NO_AUTH_ACTION_COUNT = original_initial_no_auth_action_count
|
if settings.TEST_SERVER_MODE:
|
||||||
ActionAuthenticatorMixin.request_count = original_request_count
|
requests.post("http://localhost:5000/moto-api/reset-auth", data=str(original_initial_no_auth_action_count).encode())
|
||||||
|
else:
|
||||||
|
ActionAuthenticatorMixin.request_count = original_request_count
|
||||||
|
settings.INITIAL_NO_AUTH_ACTION_COUNT = original_initial_no_auth_action_count
|
||||||
return result
|
return result
|
||||||
|
|
||||||
functools.update_wrapper(wrapper, function)
|
functools.update_wrapper(wrapper, function)
|
||||||
@ -624,6 +633,15 @@ class MotoAPIResponse(BaseResponse):
|
|||||||
return 200, {}, json.dumps({"status": "ok"})
|
return 200, {}, json.dumps({"status": "ok"})
|
||||||
return 400, {}, json.dumps({"Error": "Need to POST to reset Moto"})
|
return 400, {}, json.dumps({"Error": "Need to POST to reset Moto"})
|
||||||
|
|
||||||
|
def reset_auth_response(self, request, full_url, headers):
|
||||||
|
if request.method == "POST":
|
||||||
|
settings.INITIAL_NO_AUTH_ACTION_COUNT = float(request.data.decode())
|
||||||
|
ActionAuthenticatorMixin.request_count = 0
|
||||||
|
return 200, {}, json.dumps({"status": "ok"})
|
||||||
|
elif request.method == "GET":
|
||||||
|
return 200, {}, json.dumps({"status": "ok", "INITIAL_NO_AUTH_ACTION_COUNT": str(settings.INITIAL_NO_AUTH_ACTION_COUNT)})
|
||||||
|
return 400, {}, json.dumps({"Error": "Need to POST to reset Moto Auth"})
|
||||||
|
|
||||||
def model_data(self, request, full_url, headers):
|
def model_data(self, request, full_url, headers):
|
||||||
from moto.core.models import model_data
|
from moto.core.models import model_data
|
||||||
|
|
||||||
|
@ -11,4 +11,5 @@ url_paths = {
|
|||||||
'{0}/moto-api/$': response_instance.dashboard,
|
'{0}/moto-api/$': response_instance.dashboard,
|
||||||
'{0}/moto-api/data.json': response_instance.model_data,
|
'{0}/moto-api/data.json': response_instance.model_data,
|
||||||
'{0}/moto-api/reset': response_instance.reset_response,
|
'{0}/moto-api/reset': response_instance.reset_response,
|
||||||
|
'{0}/moto-api/reset-auth': response_instance.reset_auth_response,
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user