Test Measurements api for 'prev' link when offset > limit

pull/10616/head
Jared Scheib 2018-04-04 15:41:09 -07:00
parent c672568e91
commit 4d85760481
1 changed files with 50 additions and 0 deletions

View File

@ -491,6 +491,56 @@ func TestService_Measurements(t *testing.T) {
wants: wants{
statusCode: 200,
body: `{"measurements":[{"name":"pineapple"},{"name":"cubeapple"},{"name":"pinecube"}],"links":{"self":"/chronograf/v1/sources/0/dbs/pineapples/measurements?limit=100\u0026offset=0","first":"/chronograf/v1/sources/0/dbs/pineapples/measurements?limit=100\u0026offset=0","next":"/chronograf/v1/sources/0/dbs/pineapples/measurements?limit=100\u0026offset=100"}}
`,
},
},
{
name: "Provides a prev link when offset exceeds limit",
fields: fields{
SourcesStore: &mocks.SourcesStore{
GetF: func(ctx context.Context, srcID int) (chronograf.Source, error) {
return chronograf.Source{
ID: 0,
}, nil
},
},
Databases: &mocks.Databases{
ConnectF: func(context.Context, *chronograf.Source) error {
return nil
},
GetMeasurementsF: func(ctx context.Context, db string, limit, offset int) ([]chronograf.Measurement, error) {
return []chronograf.Measurement{
{
Name: "pineapple",
},
{
Name: "cubeapple",
},
{
Name: "pinecube",
},
{
Name: "billietta",
},
{
Name: "bobbetta",
},
{
Name: "bobcube",
},
}, nil
},
},
},
args: args{
queryParams: map[string]string{
"limit": "2",
"offset": "4",
},
},
wants: wants{
statusCode: 200,
body: `{"measurements":[{"name":"pineapple"},{"name":"cubeapple"},{"name":"pinecube"},{"name":"billietta"},{"name":"bobbetta"},{"name":"bobcube"}],"links":{"self":"/chronograf/v1/sources/0/dbs/pineapples/measurements?limit=2\u0026offset=4","first":"/chronograf/v1/sources/0/dbs/pineapples/measurements?limit=2\u0026offset=0","next":"/chronograf/v1/sources/0/dbs/pineapples/measurements?limit=2\u0026offset=6","prev":"/chronograf/v1/sources/0/dbs/pineapples/measurements?limit=2\u0026offset=2"}}
`,
},
},