http://hapi-server.org/servers/TestData2.0/hapi
  is.RequestError(): Expect no request error for timeout of 1000 ms used when request is for metadata.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"4.5","connect":"5.6","response":"11.8","end":"12.1"}, {"wait":"0.5","dns":"4.0","tcp":"1.2","firstByte":"6.2","download":"0.3","total":"12.1"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.ContentType(): Expect HTTP Content-Type to match /^text\/html/
Got: text/html; charset=utf-8

http://hapi-server.org/servers/TestData2.0/hapi/capabilities
  is.RequestError(): Expect no request error for timeout of 1000 ms used when request is for metadata.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"1.0","connect":"2.1","response":"5.8","end":"6.0"}, {"wait":"0.5","dns":"0.6","tcp":"1.1","firstByte":"3.7","download":"0.2","total":"6.0"}
  is.ContentType(): Expect HTTP Content-Type to match /^application\/json/
Got: application/json; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.JSONParsable(): Expect JSON.parse(response) to not throw error
Got: no error
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPIJSON(): Expect body to be valid HAPI 2.0 capabilities schema.
Got: is valid
  Expect outputFormats to have 'csv'
Got: csv,binary,json

http://hapi-server.org/servers/TestData2.0/hapi/catalog
  is.RequestError(): Expect no request error for timeout of 1000 ms used when request is for metadata.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"1.0","connect":"2.3","response":"8.2","end":"8.4"}, {"wait":"0.5","dns":"0.5","tcp":"1.4","firstByte":"5.9","download":"0.2","total":"8.4"}
  is.ContentType(): Expect HTTP Content-Type to match /^application\/json/
Got: application/json; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.JSONParsable(): Expect JSON.parse(response) to not throw error
Got: no error
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPIJSON(): Expect body to be valid HAPI 2.0 catalog schema.
Got: is valid
  is.Unique(): Expect all 'id' values in objects in datasets array to be unique
Got: All unique.
is.TooLong(): Prefer titles in objects to be <= 40 characters
Got: catalog has 2 datasets with a title > 40 characters:

id: 'dataset2'; title: 'Dataset w/valid HAPI 2.0 - Same as dataset1 but at PT1H resolution'
id: 'dataset3'; title: 'Dataset w/valid HAPI 2.0 - Same as dataset1 but at P1D resolution'
  is.CIdentifier(): Prefer dataset id to match c identifier regex '[_a-zA-Z][_a-zA-Z0-9]{1,30}'.
Got: All dataset id(s) match.

http://hapi-server.org/servers/TestData2.0/hapi/info?id=a_test_of_an_invalid_id_by_verifier-nodejs
  is.RequestError(): Expect no request error for timeout of 1000 ms used when request is for metadata.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"6.1","end":"6.3"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"3.9","download":"0.2","total":"6.3"}
  is.ContentType(): Expect HTTP Content-Type to match /^application\/json/
Got: application/json; charset=utf-8
  is.ErrorCorrect(): Expect HTTP code in JSON to be 404
Got: 404
  is.StatusInformative(): Want HTTP status message to contain the string 'HAPI error 1406' (default HAPI error message). (Explanation.)
Got: 'HAPI error 1406: unknown dataset id'
  is.JSONParsable(): Expect JSON.parse(response) to not throw error
Got: no error
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPIJSON(): Expect body to be valid HAPI 2.0 HAPIStatus schema.
Got: is valid
  is.ErrorCorrect(): Expect HAPI code in JSON to be 1406
Got: 1406
  is.StatusInformative(): Want HAPI status message in JSON responseto contain the string 'HAPI error 1406' (default HAPI error message). (Explanation.)
Got: 'HAPI error 1406: unknown dataset id'

http://hapi-server.org/servers/TestData2.0/hapi/info?id=dataset1
  👁 :Visually check data and test performance
  is.RequestError(): Expect no request error for timeout of 1000 ms used when request is for metadata.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"6.2","end":"6.3"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"4.1","download":"0.2","total":"6.3"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.ContentType(): Expect HTTP Content-Type to match /^application\/json/
Got: application/json; charset=utf-8
  is.JSONParsable(): Expect JSON.parse(response) to not throw error
Got: no error
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPIJSON(): Expect body to be valid HAPI 2.0 info schema.
Got: is valid
  is.Unique(): Expect all 'name' values in objects in parameters array to be unique
Got: All unique.
  is.FormatInHeader(): /info response should not have 'format' specified.
Got: No format given.
  is.FirstParameterOK(): First parameter should (not must) be named 'Time' b/c clients will likely label first parameter as 'Time' on plot to protect against first parameter names that are not sensible.
Got: Time
  is.FirstParameterOK(): First parameter must have a fill of null or it should not be specified.
Got: null
  is.TimeIncreasing(): Expect info.startDate < info.stopDate
Got: startDate = 1970-01-01T00Z; stopDate = 2016-12-31T00Z
  is.TimeIncreasing(): Expect info.sampleStartDate < info.sampleStopDate
Got: sampleStartDate = 1970-01-01T00Z; sampleStopDate = 1970-01-01T00:00:11Z
  is.UnitsOK(): Expect isotime units to be 'UTC'.
Got: type = 'isotime' and units = 'UTC' for parameter Time.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = isotime and length = 24 for parameter Time
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter scalar.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter scalar
  is.FillOK(): Expect fill value for a integer parameter to not have a decimal point
Got: fill = '-1e31' for parameter scalarint.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = integer and length = undefined for parameter scalarint
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = string and length = 3 for parameter scalarstr
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = integer and length = undefined for parameter scalarcats
  is.UnitsOK(): Expect isotime units to be 'UTC'.
Got: type = 'isotime' and units = 'UTC' for parameter scalariso.
  is.FillOK(): Expect length of fill value for a isotime parameter to be equal to length of the string parameter
Got: fill = '0000-00-00:T00:00:00Z' for parameter scalariso.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = isotime and length = 20 for parameter scalariso
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter vector.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter vector
  is.FillOK(): Expect fill value for a integer parameter to not have a decimal point
Got: fill = '-1e31' for parameter vectorint.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = integer and length = undefined for parameter vectorint
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = string and length = 3 for parameter vectorstr
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = integer and length = undefined for parameter vectorcats
  is.UnitsOK(): Expect isotime units to be 'UTC'.
Got: type = 'isotime' and units = 'UTC' for parameter vectoriso.
  is.FillOK(): Expect length of fill value for a isotime parameter to be equal to length of the string parameter
Got: fill = '0000-00-00:T00:00:00Z' for parameter vectoriso.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = isotime and length = 20 for parameter vectoriso
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter vectormulti.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter vectormulti
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter transform.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter transform
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter transformmulti.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter transformmulti
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter spectra.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter spectra
  is.BinsOK(): Expect bin units, label, centers, and ranges to have correct number of elements.
Got: Parameter spectra has correct number of elements.
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter spectranobins.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter spectranobins
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter spectralarge.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter spectralarge
  is.BinsOK(): Expect bin units, label, centers, and ranges to have correct number of elements.
Got: Parameter spectralarge has correct number of elements.
  is.FillOK(): Expect fill value for a double parameter to not have a two or more non-zero decimal places.
Got: fill = '-1e31' for parameter spectramulti.
  is.LengthAppropriate(): Length may only be given for types string and isotime
Got: Type = double and length = undefined for parameter spectramulti
  is.BinsOK(): Expect bin units, label, centers, and ranges to have correct number of elements.
Got: Parameter spectramulti has correct number of elements.
  is.CadenceGiven(): Expect the nominal cadence to be given (see the HAPI spec for definition). A nominal cadence is useful for clients and obviates the need for it to be inferred programatically.
Got: PT1S
  is.CadenceOK(): Expect (sampleStopDate-sampleStartDate)/cadence > 10
Got: (sampleStartDate-sampleStopDate)/cadence = 11

http://hapi-server.org/servers/TestData2.0/hapi/info?id=dataset1&parameters=scalar
  is.RequestError(): Expect no request error for timeout of 1000 ms used when request is for metadata.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"6.2","end":"6.3"}, {"wait":"0.4","dns":"0.5","tcp":"1.1","firstByte":"4.0","download":"0.2","total":"6.3"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.ContentType(): Expect HTTP Content-Type to match /^application\/json/
Got: application/json; charset=utf-8
  is.JSONParsable(): Expect JSON.parse(response) to not throw error
Got: no error
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPIJSON(): Expect body to be valid HAPI 2.0 info schema.
Got: is valid
  Expect # parameters in JSON to be 2 when one non-time parameter is requested
Got: 2 parameters.
  Expect info response for one parameter to match content in response for all parameters
Got: Match.

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"1.0","lookup":"1.2","connect":"2.4","response":"103.5","end":"145.3"}, {"wait":"1.0","dns":"0.2","tcp":"1.1","firstByte":"101.2","download":"41.8","total":"145.3"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 25181 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '2\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (185) - (185)

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&time.min=1970-001Z&time.max=1970-001T00:00:11Z
  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.2","response":"113.9","end":"115.8"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"111.7","download":"1.9","total":"115.8"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 25181 bytes.
  is.FileContentSame(): Expect data response to be same as previous request given differing request URLs.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z&include=header
  is.RequestError(): Expect no request error for timeout of 10000 ms used when a previous request for data failed or timed out.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"116.2","end":"120.2"}, {"wait":"0.4","dns":"0.5","tcp":"1.1","firstByte":"114.2","download":"4.0","total":"120.2"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 28814 bytes.
  is.HeaderParsable(): Expect header lines in data stream to be JSON parsable after removal of leading #s.
Got: no error
  is.FormatInHeader(): Header in csv response should have 'format: csv' specified.
Got: Format of 'csv' specified.
  is.HeaderSame(): Expect info response to match header in data response when 'include=header' requested.
Got: Matching headers.
  is.FileContentSame(): Expect data response to be same as previous request given differing request URLs.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&time.min=1970-01-01T00:00:00.001Z&time.max=1970-01-01T00:00:00.002Z
  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"1.1","connect":"2.2","response":"161.4","end":"161.6"}, {"wait":"0.5","dns":"0.5","tcp":"1.2","firstByte":"159.2","download":"0.2","total":"161.6"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): If data part of response has zero length, prefer 'HAPI 1201' (no data in time range) in HTTP header status message (if possible). (Details.)
Got: Zero bytes and HTTP header status message of 'HAPI 1201: No data in interval'

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=Time&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"113.2","end":"116.3"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"111.1","download":"3.1","total":"116.3"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 250 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters 'Z\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.SizeCorrect(): Expect number of commas on first line to be 0 because only first parameter (time) requested.
Got: 0 commas

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=scalar&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"2.6","connect":"3.7","response":"167.2","end":"170.3"}, {"wait":"0.5","dns":"2.1","tcp":"1.1","firstByte":"163.5","download":"3.1","total":"170.3"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 436 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '6\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (2) - (2)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=scalarint&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"1.0","connect":"2.2","response":"112.6","end":"116.2"}, {"wait":"0.5","dns":"0.6","tcp":"1.2","firstByte":"110.4","download":"3.6","total":"116.2"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 278 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '7\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (2) - (2)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=scalarstr&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.1","connect":"2.5","response":"168.3","end":"170.1"}, {"wait":"0.4","dns":"0.7","tcp":"1.3","firstByte":"165.9","download":"1.8","total":"170.1"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 290 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters 'F\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (2) - (2)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=scalarcats&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"124.6","end":"168.1"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"122.5","download":"43.5","total":"168.1"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 270 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '0\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (2) - (2)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=scalariso&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"1.0","connect":"2.4","response":"125.6","end":"129.5"}, {"wait":"0.5","dns":"0.5","tcp":"1.4","firstByte":"123.2","download":"4.0","total":"129.5"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 460 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters 'Z\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (2) - (2)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=vector&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"1.1","connect":"2.2","response":"112.0","end":"115.2"}, {"wait":"0.5","dns":"0.6","tcp":"1.2","firstByte":"109.8","download":"3.2","total":"115.2"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 817 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '7\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (4) - (4)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=vectorint&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"165.9","end":"167.5"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"163.8","download":"1.6","total":"167.5"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 334 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '7\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (4) - (4)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=vectorstr&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"116.0","end":"119.6"}, {"wait":"0.4","dns":"0.5","tcp":"1.1","firstByte":"113.9","download":"3.6","total":"119.6"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 370 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters 'F\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (4) - (4)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=vectorcats&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"116.5","end":"169.3"}, {"wait":"0.4","dns":"0.6","tcp":"1.2","firstByte":"114.4","download":"52.8","total":"169.3"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 310 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '2\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (4) - (4)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=vectoriso&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"0.9","connect":"2.0","response":"114.3","end":"117.8"}, {"wait":"0.4","dns":"0.5","tcp":"1.1","firstByte":"112.2","download":"3.6","total":"117.8"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 880 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters 'Z\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (4) - (4)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=vectormulti&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.1","response":"111.7","end":"115.0"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"109.6","download":"3.3","total":"115.0"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 1386 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '7\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (7) - (7)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=transform&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.2","response":"165.7","end":"169.1"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"163.6","download":"3.3","total":"169.1"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 430 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '8\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (10) - (10)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=transformmulti&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.4","response":"116.9","end":"120.3"}, {"wait":"0.4","dns":"0.6","tcp":"1.4","firstByte":"114.5","download":"3.4","total":"120.3"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 430 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '8\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (10) - (10)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=spectra&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"0.9","connect":"2.1","response":"162.8","end":"166.1"}, {"wait":"0.4","dns":"0.6","tcp":"1.1","firstByte":"160.7","download":"3.4","total":"166.1"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 1260 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '1\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (11) - (11)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=spectranobins&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"1.0","connect":"2.4","response":"119.2","end":"123.0"}, {"wait":"0.4","dns":"0.6","tcp":"1.4","firstByte":"116.8","download":"3.9","total":"123.0"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 450 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '9\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (11) - (11)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=spectralarge&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.4","lookup":"6.4","connect":"7.8","response":"168.4","end":"214.4"}, {"wait":"0.4","dns":"6.0","tcp":"1.4","firstByte":"160.6","download":"46.0","total":"214.4"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 18570 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '2\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (101) - (101)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

http://hapi-server.org/servers/TestData2.0/hapi/data?id=dataset1&parameters=spectramulti&time.min=1970-01-01Z&time.max=1970-01-01T00:00:11Z
    Direct link for following plot.. Please report any plotting issues at the Python hapiplot GitHub page.

  is.RequestError(): Expect no request error for timeout of 5000 ms used when time.min/max not given to validator but sampleStart/Stop is given in /info response.
Got: No error. Timing info [ms]: {"socket":"0.5","lookup":"1.2","connect":"2.5","response":"72.1","end":"75.5"}, {"wait":"0.5","dns":"0.7","tcp":"1.4","firstByte":"69.5","download":"3.4","total":"75.5"}
  is.HTTP200(): Expect HTTP status code to be 200
Got: HTTP status code 200
  is.FileStructureOK(): Expect nonzero length for data part of response.
Got: 2210 bytes.
  is.CompressionAvailable(): Expect HTTP Accept-Encoding to match /gzip/. (Note, only compression tested for is gzip.)
Got: gzip
  is.ContentType(): Expect HTTP Content-Type to match /^text\/csv/
Got: text/csv; charset=utf-8
  is.CORSAvailable(): To enable AJAX clients, want CORS HTTP Headers: Access-Control-Allow-Origin = '*' and, if given, Access-Control-Allow-Methods to include 'GET'
Got: Access-Control-Allow-Origin = '*' and, Access-Control-Allow-Methods 'GET'
  is.FileStructureOK(): Expect first character of CSV response to be an integer.
Got: 1
  is.FileStructureOK(): Expect last character of CSV response be a newline.
Got: A newline.
  is.FileStructureOK(): Expect last two characters of CSV response to not be newlines.
Got: The characters '2\n'
  is.FileStructureOK(): Expect at least one newline in CSV response.
Got: 11 newlines
  is.CorrectLength(): Expect (trimmed length of Time string parameter in CSV) - (parameters.Time.length) = 0.
Got: (24) - (24)
  is.HAPIVersionSame(): Expect HAPI version to match that from last requests where found.
Got: Current: '2.0' and Last: '2.0'
  is.HAPIVersion(): Expect HAPI version in JSON response to be one of ["1.1","2.0","2.1","3.0","3.1"]
Got: 2.0
  is.HAPITime(): Expect time column to contain valid HAPI 2.0 HAPITime strings
Got: Valid HAPI Time strings
  is.TimeIncreasing(): Expect Monotonically increasing time in CSV
Got: Monotonically increasing time in CSV
  is.TimeInBounds(): Expect first time in CSV >= 1970-01-01 and last time in CSV < 1970-01-01T00:00:11 (only checks to ms)
Got: First time = 1970-01-01T00:00:00.000; LastTime = 1970-01-01T00:00:09.000
  is.FileLineOK(): Expect (# of columns in CSV) - (# computed from length and size metadata) = 0.
Got: (21) - (21)
  is.FileContentSame(): : Expect content from one parameter request to match content from all parameter request.
Got: Match

End of validation tests.

Summary: Pass: 440. Warns:1. Fails:0.Warnings and failures repeated below.


http://hapi-server.org/servers/TestData2.0/hapi/catalog
  Warn: is.TooLong(): Prefer titles in objects to be <= 40 characters; Got: catalog has 2 datasets with a title > 40 characters:

id: 'dataset2'; title: 'Dataset w/valid HAPI 2.0 - Same as dataset1 but at PT1H resolution'
id: 'dataset3'; title: 'Dataset w/valid HAPI 2.0 - Same as dataset1 but at P1D resolution'



Use the following links for visual checks of data and stress testing server.

http://hapi-server.org/plot?server=http://hapi-server.org/servers/TestData2.0/hapi&id=dataset1&format=gallery