@@ -25,6 +25,7 @@ Public Function Specs() As SpecSuite
25
25
Request.AddUrlSegment "user" , "Tim"
26
26
Request.AddUrlSegment "password" , "Secret123"
27
27
28
+ Set Client.Authenticator = Nothing
28
29
Set Response = Client.Execute(Request)
29
30
.Expect(Response.StatusCode).ToEqual WebStatusCode.Unauthorized
30
31
@@ -36,6 +37,24 @@ Public Function Specs() As SpecSuite
36
37
.Expect(Response.Data("authenticated" )).ToEqual True
37
38
End With
38
39
40
+ With Specs.It("should properly escape username and password" )
41
+ Set Request = New WebRequest
42
+ Request.Resource = "basic-auth/{user}/{password}"
43
+ Request.AddUrlSegment "user" , "Tim\`$""!"
44
+ Request.AddUrlSegment "password" , "Secret123\`$""!"
45
+
46
+ Set Client.Authenticator = Nothing
47
+ Set Response = Client.Execute(Request)
48
+ .Expect(Response.StatusCode).ToEqual WebStatusCode.Unauthorized
49
+
50
+ Auth.Setup "Tim\`$""!" , "Secret123\`$""!"
51
+ Set Client.Authenticator = Auth
52
+
53
+ Set Response = Client.Execute(Request)
54
+ .Expect(Response.StatusCode).ToEqual 200
55
+ .Expect(Response.Data("authenticated" )).ToEqual True
56
+ End With
57
+
39
58
InlineRunner.RunSuite Specs
40
59
End Function
41
60
0 commit comments