def test_action_obj_remove(): """"Create a user removal action object""" action = v1.Action(user="******").do(removeFromOrg={}) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"removeFromOrg": {}}], "user": "******"}' action = v1.Action(user_key="*****@*****.**").do(removeFromOrg={}) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"removeFromOrg": {}}], "user": "******"}'
def test_action_obj_create(): """"Create a user creation action object and make sure that we can serialize it in the expected format""" action = v1.Action(user="******").do( addAdobeID={"email": "*****@*****.**"}) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"addAdobeID": {"email": "*****@*****.**"}}], "user": "******"}' action = v1.Action(user_key="*****@*****.**").do( addAdobeID={"email": "*****@*****.**"}) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"addAdobeID": {"email": "*****@*****.**"}}], "user": "******"}'
def test_action_obj_update(): """Create a user update action object""" action = v1.Action(user="******").do( update={"firstname": "example", "lastname": "user"} ) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"update": {"firstname": "example", "lastname": "user"}}], "user": "******"}' action = v1.Action(user_key="*****@*****.**").do( update={"firstname": "example", "lastname": "user"} ) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"update": {"firstname": "example", "lastname": "user"}}], "user": "******"}'
def test_user_create_error(_): """Test User Creation - ERROR""" api = v1.UMAPI('http://example.com/error', "N/A", retry_max_attempts=1) action = v1.Action(user_key="*****@*****.**").do( addAdobeID={"email": "*****@*****.**"}) pytest.raises(v1.UMAPIRequestError, api.action, None, action)
def test_action_obj_requestid(): """Include a request ID in action object""" action = v1.Action(user="******", requestID="abc123").do( add=["product1"] ) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"add": {"product": ["product1"]}}], "requestID": "abc123", "user": "******"}'
def test_user_create_success(_): """Test User Creation - SUCCESS""" api = v1.UMAPI('http://example.com/success', "N/A", retry_max_attempts=1) action = v1.Action(user_key="*****@*****.**").do( addAdobeID={"email": "*****@*****.**"}) assert api.action(None, action) == {"result": "success"}
def test_product_add(_): """Test Product Add - SUCCESS""" api = v1.UMAPI('http://example.com/success', "N/A", retry_max_attempts=1) action = v1.Action(user_key="*****@*****.**").do( add=["product1", "product2"]) assert api.action(None, action) == {"result": "success"}
def test_user_create_failure(patch): """Test User Creation - FAILURE""" action = v1.Action(user_key="*****@*****.**").do( addAdobeID={"email": "*****@*****.**"}) api = v1.UMAPI('http://example.com/failure', "N/A", retry_max_attempts=1) pytest.raises(v1.UMAPIError, api.action, None, action) patch.return_value = retry_response api = v1.UMAPI('http://example.com/retry', "N/A", retry_max_attempts=1) pytest.raises(v1.UMAPIRetryError, api.action, None, action)
def test_action_obj_multi(): """Create a multi-action action object""" action = v1.Action(user="******").do( addAdobeID={"email": "*****@*****.**"}, add=["product1", "product2"], remove=["product3"]) assert json.dumps(action.wire_dict(), sort_keys=True) == \ '{"do": [{"addAdobeID": {"email": "*****@*****.**"}}, ' \ '{"add": {"product": ["product1", "product2"]}}, ' \ '{"remove": {"product": ["product3"]}}], ' \ '"user": "******"}'