@@ -6,16 +6,17 @@ import (
66 "testing"
77 "net/url"
88 "net/http"
9- "ds3/networking"
109 "reflect"
10+ "ds3/models"
11+ "ds3/networking"
1112)
1213
1314func mockedClient (t * testing.T ) mockedClientWithTest {
1415 return & mockedNet {t : t }
1516}
1617
1718type mockedClientWithTest interface {
18- Expecting (verb networking. HttpVerb , path string , queryParams * url.Values , requestHeaders * http.Header , request * string ) mockedClientWithExpectation
19+ Expecting (verb string , path string , queryParams * url.Values , requestHeaders * http.Header , request * string ) mockedClientWithExpectation
1920}
2021
2122type mockedClientWithExpectation interface {
@@ -27,7 +28,7 @@ type mockedNet struct {
2728 t * testing.T
2829
2930 // Expected data to validate.
30- verb networking. HttpVerb
31+ verb string
3132 path string
3233 queryParams * url.Values
3334 requestHeaders * http.Header
@@ -39,7 +40,7 @@ type mockedNet struct {
3940 headers * http.Header
4041}
4142
42- func (mockedNet * mockedNet ) Expecting (verb networking. HttpVerb , path string , queryParams * url.Values , requestHeaders * http.Header , request * string ) mockedClientWithExpectation {
43+ func (mockedNet * mockedNet ) Expecting (verb string , path string , queryParams * url.Values , requestHeaders * http.Header , request * string ) mockedClientWithExpectation {
4344 mockedNet .verb = verb
4445 mockedNet .path = path
4546 mockedNet .queryParams = queryParams
@@ -52,30 +53,31 @@ func (mockedNet *mockedNet) Returning(statusCode int, response string, headers *
5253 mockedNet .statusCode = statusCode
5354 mockedNet .response = response
5455 mockedNet .headers = headers
55- return & Client {mockedNet , & ClientPolicy {5 , 5 }}
56+ var url url.URL
57+ var endpointUrl , _ = url .Parse ("/" )
58+ return & Client {
59+ sendNetwork : mockedNet ,
60+ clientPolicy : & ClientPolicy {5 , 5 },
61+ connectionInfo : & networking.ConnectionInfo {
62+ Endpoint : endpointUrl ,
63+ Credentials : & networking.Credentials {AccessId : "AccessId" , Key : "Key" },
64+ },
65+ }
5666}
5767
58- func (mockedNet * mockedNet ) Invoke (ds3Request networking. Ds3Request ) (networking .WebResponse , error ) {
68+ func (mockedNet * mockedNet ) Invoke (httpRequest * http. Request ) (models .WebResponse , error ) {
5969 // Verify the verb.
60- verb := ds3Request .Verb ()
61- if verb != mockedNet .verb {
62- actualVerb , err := verb .String ()
63- if err != nil {
64- mockedNet .t .Error (err )
65- } else {
66- mockedVerb , _ := mockedNet .verb .String ()
67- mockedNet .t .Errorf ("Expected verb '%s' but got '%s'." , mockedVerb , actualVerb )
68- }
70+ if httpRequest .Method != mockedNet .verb {
71+ mockedNet .t .Errorf ("Expected verb '%s' but got '%s'." , mockedNet .verb , httpRequest .Method )
6972 }
7073
7174 // Verify the path.
72- path := ds3Request .Path ()
73- if path != mockedNet .path {
74- mockedNet .t .Errorf ("Expected path '%s' but got '%s'." , mockedNet .path , path )
75+ if httpRequest .URL .Path != mockedNet .path {
76+ mockedNet .t .Errorf ("Expected path '%s' but got '%s'." , mockedNet .path , httpRequest .URL .Path )
7577 }
7678
7779 // Verify the query parameters.
78- actualQueryParams := ds3Request . QueryParams (). Encode ()
80+ actualQueryParams := httpRequest . URL . RawQuery
7981 expectedQueryParams := mockedNet .queryParams .Encode ()
8082 if actualQueryParams != expectedQueryParams {
8183 mockedNet .t .Errorf (
@@ -86,7 +88,9 @@ func (mockedNet *mockedNet) Invoke(ds3Request networking.Ds3Request) (networking
8688 }
8789
8890 // Verify request headers
89- actualRequestHeaders := * ds3Request .Header ()
91+ actualRequestHeaders := httpRequest .Header
92+ actualRequestHeaders .Del ("Date" ) //remove date
93+ actualRequestHeaders .Del ("Authorization" ) //remove authorization
9094 expectedRequestHeaders := * mockedNet .requestHeaders
9195 if len (actualRequestHeaders ) != len (expectedRequestHeaders ) {
9296 mockedNet .t .Errorf (
@@ -110,7 +114,7 @@ func (mockedNet *mockedNet) Invoke(ds3Request networking.Ds3Request) (networking
110114
111115 // Verify the request contents.
112116 if mockedNet .request != nil {
113- contentStream := ds3Request . GetContentStream ()
117+ contentStream := httpRequest . Body
114118 if contentStream == nil {
115119 mockedNet .t .Error ("Expected a non-nil content stream, but got nil." )
116120 } else {
@@ -133,7 +137,7 @@ func (mockedNet *mockedNet) StatusCode() int {
133137}
134138
135139func (mockedNet * mockedNet ) Body () io.ReadCloser {
136- return networking . BuildByteReaderWithSizeDecorator ([]byte (mockedNet .response ))
140+ return BuildByteReaderWithSizeDecorator ([]byte (mockedNet .response ))
137141}
138142
139143func (mockedNet * mockedNet ) Header () * http.Header {
0 commit comments