@@ -56,6 +56,7 @@ def setUp(self):
5656 'birthday' : '1991-11-07' ,
5757 'createdAt' : '2015-10-02T08:23:53Z' ,
5858 'gender' : 'male' ,
59+ 'channel' : 'MAIL'
5960 }
6061 self .default_headers_api_v1 = {
6162 'X-XNG-AuthToken' : 'SOME_TOKEN' ,
@@ -625,3 +626,56 @@ def test_track_user_task_not_found(self):
625626 )
626627
627628 self .assertEqual (result , (codes .not_found , None ))
629+
630+ def test_get_user_opt_out_status (self ):
631+ """Crossengage returns status code 200"""
632+ # GIVEN
633+ expected_response = self .user .copy ()
634+ expected_response .update ({"status_code" : codes .ok })
635+ response = Mock (status_code = codes .ok )
636+ response .json .return_value = expected_response
637+ requests = Mock ()
638+ requests .get .return_value = response
639+
640+ requests = Mock ()
641+ requests .get .return_value = response
642+ self .client .requests = requests
643+
644+ # WHEN
645+ result = self .client .get_user_opt_out_status (self .user ['id' ])
646+
647+ # THEN
648+ requests .get .assert_called_once_with (
649+ self .CROSSENGAGE_URL + 'users/1234/optout-status' ,
650+ headers = self .default_headers_api_v1 ,
651+ timeout = 30
652+ )
653+
654+ self .assertEqual (expected_response , result )
655+
656+ def test_update_user_opt_out_status (self ):
657+ """Crossengage returns status code 200"""
658+ # GIVEN
659+ expected_response = self .user .copy ()
660+ expected_response .update ({"status_code" : codes .ok })
661+ response = Mock (status_code = codes .ok )
662+ response .json .return_value = expected_response
663+ requests = Mock ()
664+ requests .get .return_value = response
665+
666+ requests = Mock ()
667+ requests .put .return_value = response
668+ self .client .requests = requests
669+
670+ # WHEN
671+ result = self .client .update_user_opt_out_status (self .user ['id' ], self .user ['channel' ])
672+
673+ # THEN
674+ requests .put .assert_called_once_with (
675+ self .CROSSENGAGE_URL + 'users/1234/optout-status?channelType=' + self .user ['channel' ],
676+ data = '{"optOut": true}' ,
677+ headers = self .default_headers_api_v1 ,
678+ timeout = 30
679+ )
680+
681+ self .assertEqual (expected_response , result )
0 commit comments