@@ -78,3 +78,36 @@ def test_auth(self):
7878 url = '/api/providers'
7979 response = self .client .get (url )
8080 self .assertEqual (response .status_code , 200 )
81+
82+ def test_cancel (self ):
83+ """Test that a registered user can cancel her account."""
84+ # test registration workflow
85+ username , password = 'newuser' , 'password'
86+ first_name , last_name = 'Otto' , 'Test'
87+ email = 'autotest@deis.io'
88+ submit = {
89+ 'username' : username ,
90+ 'password' : password ,
91+ 'first_name' : first_name ,
92+ 'last_name' : last_name ,
93+ 'email' : email ,
94+ # try to abuse superuser/staff level perms
95+ 'is_superuser' : True ,
96+ 'is_staff' : True ,
97+ }
98+ url = '/api/auth/register'
99+ response = self .client .post (url , json .dumps (submit ), content_type = 'application/json' )
100+ self .assertEqual (response .status_code , 201 )
101+ self .assertTrue (
102+ self .client .login (username = username , password = password ))
103+ # test for default objects
104+ url = '/api/providers'
105+ response = self .client .get (url )
106+ self .assertEqual (response .status_code , 200 )
107+ self .assertEqual (response .data ['count' ], len (settings .PROVIDER_MODULES ))
108+ # cancel the account
109+ url = '/api/auth/cancel'
110+ response = self .client .delete (url )
111+ self .assertEqual (response .status_code , 204 )
112+ self .assertFalse (
113+ self .client .login (username = username , password = password ))
0 commit comments