diff options
| -rw-r--r-- | reqres_test.go | 62 | 
1 files changed, 61 insertions, 1 deletions
| diff --git a/reqres_test.go b/reqres_test.go index e118a4f..e53ed69 100644 --- a/reqres_test.go +++ b/reqres_test.go @@ -157,8 +157,68 @@ func TestNewGetProofByHashRequest(t *testing.T) {  	}  } -// TODO: TestNewGetConsistencyProofRequest  func TestNewGetConsistencyProofRequest(t *testing.T) { +	lp := makeTestLogParameters(t, nil) +	for _, table := range []struct { +		description string +		first       string +		second      string +		wantErr     bool +	}{ +		{ +			description: "bad reuqest: first must be an integer", +			first:       "first", +			second:      "1", +			wantErr:     true, +		}, +		{ +			description: "bad request: second must be an integer", +			first:       "1", +			second:      "second", +			wantErr:     true, +		}, +		{ +			description: "bad request: first must be larger than zero", +			first:       "0", +			second:      "second", +			wantErr:     true, +		}, +		{ +			description: "bad request: second must be larger than firsst", +			first:       "2", +			second:      "1", +			wantErr:     true, +		}, +		{ +			description: "ok request", +			first:       "1", +			second:      "2", +		}, +	} { +		r, err := http.NewRequest("GET", "http://example.com/"+lp.Prefix+"/get-consistency-proof", nil) +		if err != nil { +			t.Fatalf("must make http request in test %q: %v", table.description, err) +		} +		q := r.URL.Query() +		q.Add("first", table.first) +		q.Add("second", table.second) +		r.URL.RawQuery = q.Encode() + +		req, err := lp.newGetConsistencyProofRequest(r) +		if got, want := err != nil, table.wantErr; got != want { +			t.Errorf("got error is %v but wanted %v in test %q: %v", got, want, table.description, err) +		} +		if err != nil { +			continue +		} + +		if got, want := req.First, mustParseInt64(t, table.first); got != want { +			t.Errorf("got first %d but wanted %d in test %q", got, want, table.description) +		} +		if got, want := req.Second, mustParseInt64(t, table.second); got != want { +			t.Errorf("got second %d but wanted %d in test %q", got, want, table.description) +		} +	}  }  // TODO: TestNewGetEntryResponse | 
