ANDES API

v2

LibAndesClient driven tests

Drill with Pressure DataLog

Caching

Query / Export

Error cases

Flush

Informational Data

Update Contact Information

Random

Error cases

Drill-Profile Data Series

Update Algorithm Parameters

SetContactInformation call specifies a UUID that does not have a corresponding DataLog [in TestRail]

Contractor contact information updated for an existing datalog [in TestRail]

Call made with invalid ContactInformationGroup object sent in request [in TestRail]

Caller sets first rod length [in TestRail]

Caller sets first and last rod length [in TestRail]

Caller sets length of typical rod in series [in TestRail]

Caller sets survey relative entry [in TestRail]

Caller sets all processing parameters [in TestRail]

Caller sets elevation point of reference [in TestRail]

Caller sets survey relative exit [in TestRail]

Test Ideas

Performance

Flush large datalog from cache

Call made with invalid api_key [in TestRail]

Load

Error cases

Call made with invalid api_key [in TestRail]

Error cases

Call made with invalid api_key [in TestRail]

Build acceptance

Load large datalog with 150 rods in series

Stress

Call made with invalid api_key [in TestRail]

Direct service testing

Error cases

Caller flushes existing datalog [in TestRail]

DataLog is persisted in Andes long-term storage [in TestRail]

DataLog is evicted from cache [in TestRail]

Scenario

Caller can load DataLog into cache after calling to evict log from cache [in TestRail]

**v 1.1🔒✅

Functional

New

Export

Load

Flush (previously Store)

Call New with valid serial number

Error cases

Call with null serial number

Call with empty serial number string

Call with serial number containing js reserved characters

Error cases

Export existing DataLog to DL5 format

Call Export for a DataLog GUID that does not exist in system

Call New with invalid API_KEY

Load ClassicF5 DataLog as ClassicF5 DataLog source

Load FalconF5 DataLog as FalconF5 DataLog source

Load LWD DataLog as LWD DataLog source

Load Llama DataLog as Llama DataLog source

Error cases

Load ClassicF5 DataLog as FalconF5 DataLog source

Load FalconF5 as ClassicF5 DataLog source

Load LWD DataLog as Llama DataLog source

Load Llama DataLog source as LWD DataLog source

Log datasource type auto-detection

Load ClassicF5 datalog as unknown datalog source

Load FalconF5 as unknown datalog source

Load LWD datalog as uknown datalog source

Load Llama datalog as unknown datalog source

Call load with an empty byte array data payload and an unknown datalog source

Load Llama datalog source with unsupported datalog source indicated

Call Flush and evict datalog from cache

Error cases

Cal Flush while leaving the datalog still in cache

Attempt to evict a non-existent datalog from the cache

Attempt to flush a non-existent data log

UpdateCustomerInformation

Update customer information on existing datalog

Error cases

Attempt to update customer information on non-existent datalog

Attempt to update customer information while passing empty contract information

Call UpdateCustomerInformation with CustomerInformation that contains no changes from value currently set on target datalog

Supply customer information that is missing an Address line one value

Supply customer information that is missing a City value

Supply customer information that is missing a State value

Supply customer information that is missing a Name value

Supply customer information that is missing a Contact value

Supply customer information that is missing a HomePhone value

Supply customer information that is missing a Country value

UpdateContractorInformation

Update customer information on existing datalog

Error cases

Attempt to update contractor information on non-existent datalog

Attempt to update contractor information while passing empty contract information

Supply contractor information that is missing an Address line one value

Supply contractor information that is missing a City value

Supply contractor information that is missing a State value

Supply contractor information that is missing a Name value

Supply contractor information that is missing a Contact value

Supply contractor information that is missing a HomePhone value

Supply contractor information that is missing a Country value

Call UpdateContractorInformation with contractor info that contains no changes from value currently set on target datalog

UpdateJobsiteInformation

Update jobsite information on existing datalog

Error cases

Attempt to update jobsite information on non-existent datalog

Attempt to update jobsite information while passing empty contract information

Supply jobsite information that is missing an Address line one value

Supply jobsite information that is missing a City value

Supply jobsite information that is missing a State value

Supply jobsite information that is missing a Name value

Supply jobsite information that is missing a Contact value

Supply jobsite information that is missing a HomePhone value

Supply jobsite information that is missing a Country value

Call UpdateJobSite with job site info that contains no changes from value currently set on target datalog

Logging

Error logged when invalid API_KEY is supplied in service call

Question: What are our logging requirements?

Call Export with an empty guid for the UUID value

Profiles

Happy path

Caller flushes an existing datalog from cache

Caller adds a data point to drill profile data-series

Caller deletes an existing datalog and flushes it from cache

Caller updates contact information for an existing datalog

Caller loads a LibLlama JSON datalog

Failure path

User attempts to load a datalog of an unsupported type

User attempts to delete a non-existent drill series datapoint

Attempt to load datalog when cache contains a datalog bearing the same UUID [in TestRail]

Versioning

Caller requests service version information [in TestRail]

Error cases

Call made with invalid api_key [in TestRail]

Insert data point
Inserts a new point resource at the specified list index


Endpoint:
POST [Root]/v2/DataLogs/DWPDL/{UUID}/DPDS/{index}

Delete data point
Deletes existing point resource at the specified list index


Endpoint:
DELETE [Root]/v2/DataLogs/DWPDL/{UUID}/DPDS/{index}

Statistical-Pressure Data Series

Read

Caller attempts to POST information to Versions endpoint [in TestRail]

Caller attempts to PUT information to Versions endpoint [in TestRail]

Attempt to load unsupported datalog comprised of unsupported content [in TestRail]

Load ClassicF5 DataLog as ClassicF5 DataLog source [in TestRail]

Load FalconF5 DataLog as FalconF5 DataLog source [in TestRail]

Load LWD DataLog as LWD DataLog source [in TestRail]

Load Llama DataLog as Llama DataLog source [in TestRail]

Call load with an empty byte array data payload and an unknown datalog source [in TestRail]

Log datasource type auto-detection

Load ClassicF5 datalog as unknown datalog source [in TestRail]

Load FalconF5 as unknown datalog source [in TestRail]

Load LWD datalog as uknown datalog source [in TestRail]

Load Llama datalog as unknown datalog source [in TestRail]

Load FalconF5 as ClassicF5 DataLog source [in TestRail]

Load LWD DataLog as Llama DataLog source [in TestRail]

Load ClassicF5 DataLog as FalconF5 DataLog source [in TestRail]

Load Llama DataLog source as LWD DataLog source [in TestRail]

Exploratory

Load LibLlama datalog of unusual size [in TestRail]

Load LibLlama datalog with an empty drill profile data series [in TestRail]

Call made with invalid api_key [in TestRail]

Drill with Pressure DataLog

Caching

Random

Query / Export

Error cases

Flush

Error cases

Error cases

Call made with zero-length string as serial number argument [in TestRail]

Load

Error cases

Call omits binary data from request body [in TestRail]

Caller attempts to make PUT call to DWPDL endpoint [in TestRail]

Call made with unsupported dataLogSource query parameter value [in TestRail]

Call made with unexpected and extraneous query parameter [in TestRail]

Load Llama datalog source with unsupported datalog source indicated [in TestRail]

Informational Data

Update Contact Information

Error cases

Call specifies a UUID that does not have a corresponding DataLog [in TestRail]

Call made with invalid api_key [in TestRail]

Call made with invalid ContactInformation object sent in request [in TestRail]

Drill-Profile Data Series

Update Algorithm Parameters

Edit / Revert / Logical Delete / Hide / Unhide

Insert

Delete

Statistical-Pressure Data Series

Read

Caller submits PUT request to Random endpoint [in TestRail]

Caller submits POST request to Random endpoint [in TestRail]

Exploratory

Caller submits a very large string value for serial number parameter [in TestRail]

Call omits serial number query parameter [in TestRail]

Exploratory

Caller supplies superfluous query parameter [in TestRail]

New randomly generated datalog is added to cache when add_to_cache flag is set [in TestRail]

New randomly generated datalog includes rod-based GPS data when enable_GPS flag is set [in TestRail]

New randomly generated datalog contains data for between 30 and 150 rods [in TestRail]

New randomly generated datalog contains no rod-based GPS data when enable_GPS parameter is omitted [in TestRail]

New randomly generated datalog is not added to cache when add_to_cache parameter is omitted [in TestRail]

Caller requests datalog export in simplified json format [in TestRail]

Caller requests datalog export in full json format [in TestRail]

Caller requests datalog export in dl5 format [in TestRail]

Caller submits POST request to Export endpoint [in TestRail]

Caller submits PUT request to Export endpoint [in TestRail]

Caller submits export request that specifies an unsupported file format type [in TestRail]

Caller submits export request that does not specify the file_format_type parameter [in TestRail]

Exploratory

Caller submits export request that specifies an inconsistently cased file_format_type parameter value [in TestRail]

Caller submits export request that contains a superfluous parameter [in TestRail]

Caller submits an export request that contains an empty file_format_type parameter value [in TestRail]

Caller submits a non-Guid value for the UUID parameter [in TestRail]

Error cases

Caller submits a non-Guid value for the UUID parameter [in TestRail]

Caller submits a non-Guid value for the UUID parameter [in TestRail]

Caller supplies an empty Guid value for the UUID parameter [in TestRail]

Caller supplies an empty Guid value for the UUID parameter [in TestRail]

Caller supplies an empty Guid value for the UUID parameter [in TestRail]

Caller attempts to flush a non-existent datalog [in TestRail]

Caller submits a POST request to Flush endpoint [in TestRail]

Caller submits a PUT request to Flush endpoint [in TestRail]

Jobsite contact information updated for an existing datalog [in TestRail]

Customer contact information updated for an existing datalog [in TestRail]

Exploratory

Updated contractor information sent with the has_contractor flag unset [in TestRail]

Updated customer contact information sent with the has_customer flag unset [in TestRail]

Updated jobsite contact information sent with the has_jobsite flag unset [in TestRail]

Call made with null contact information model instance in request body [in TestRail]

Call made with invalid request body content [in TestRail]

Call made with has_contractor flag set and a customer contact information set to null [in TestRail]

Call made with has_contractor flag set and a contractor contact information set to null [in TestRail]

Call made with has_contractor flag set and a jobsite contact information set to null [in TestRail]

Caller updates contact information for customer contractor and jobsite [in TestRail]

Caller supplies a non-boolean has_contractor parameter value [in TestRail]

Caller supplies a non-boolean has_jobsite parameter value [in TestRail]

Caller supplies a non-boolean has_customer parameter value [in TestRail]

Error cases

Caller submits a negative first_rod_length_feet parameter value [in TestRail]

Caller submits a negative last_rod_length_feet parameter value [in TestRail]

Caller submits a negative typical_rod_length_feet parameter value [in TestRail]

Exploratory

Caller submits an impossibly large typical_rod_length_feet parameter value [in TestRail]

Caller submits a negative survey_relative_exit_feet parameter value [in TestRail]

Caller submits a negative elevation_point_of_entry_feet parameter value [in TestRail]

Caller submits a negative survey_relative_entry_feet parameter value [in TestRail]

Error cases

Caller submits a non-numeric first_rod_length_feet parameter value [in TestRail]

Caller submits a non-numeric last_rod_length_feet parameter value [in TestRail]

Caller submits a non-numeric typical_rod_length_feet parameter value [in TestRail]

Caller submits a non-numeric survey_relative_entry_feet parameter value [in TestRail]

Caller submits a non-numeric elevation_point_of_entry_feet paremeter value [in TestRail]

Caller submits a non-numeric survey_relative_exit_feet parameter value [in TestRail]

Caller submits a NaN double parameter value for typical_rod_length_feet [in TestRail]

Caller sets first_rod_length_feet and typical_rod_length_feet parameter values [in TestRail]

Caller omits first_rod_length_feet parameter [in TestRail]

Caller omits typical_rod_length_feet parameter [in TestRail]

Caller supplies updated values for all supported algorithm parameters [in TestRail]

Lossy JSON form of datalog is returned on response [in TestRail]

Caller populates request body on PostProcessedData update [in TestRail]

Caller supplies a non-Guid UUID parameter value [in TestRail]

Caller submits empty UUID parameter value [in TestRail]

Caller submits invalid API key [in TestRail]

Logical delete of data pointApplies a logical delete state to an existing data point resource


Endpoint:
PUT [Root]/v2/DataLogs/DWPDL/{UUID}/DPDS/{index}


"RemoveFromCalculations": true | false

Hide data point
Hides data point at the specified list index


Endpoint:
PUT [Root]/v2/DataLogs/DWPDL/{UUID}/DPDS/{index}


"Hide": true | false

Caller hides existing drill profile data series data point [in TestRail]

Caller unhides existing drill profile data series data point [in TestRail]

Caller deletes existing drill profile data series data point [in TestRail]

Caller performs a logical delete of an existing drill profile data series data point [in TestRail]

Caller inserts a new drill profile data series data point at the beginning of the data series [in TestRail]

Caller retrieves a statistical-pressure data series [in TestRail]

Error scenario placeholder [in TestRail]

Error scenario placeholder [in TestRail]

Error scenario placeholder [in TestRail]

Caller removes a logical delete of an existing profile data series data point [in TestRail]

Error cases

Caller attempts to hide a non-existent drill profile data series data point [in TestRail]

Caller attempts to unhide a non-existent drill profile data series [in TestRail]

Caller supplies invalid API key in call to hide existing DPDS data point [in TestRail]

Caller attempts to hide DPDS data point on a non-existent data log [in TestRail]

Error cases

User supplies an invalid API key while trying to insert a new DPDS data point into an existing datalog [in TestRail]

User attempts to insert a new DPDS data point into a non-existent datalog [in TestRail]

Error cases

Caller supplies an invalid API key when requesting a statistical-pressure data series [in TestRail]

Caller attempts to retrieve a statistical-pressure data series for a non-existent data log [in TestRail]

Error cases

Caller supplies an invalid API key while attempting to delete an existing DPDS data point [in TestRail]

Caller attempts to delete a non-existent DPDS data point from an existing data log [in TestRail]

Caller attempts to delete a DPDS data point at -1 [in TestRail]

Exploratory

Caller removes all DPDS data points from calculations [in TestRail]

Caller removes all but one DPDS data points from calculations [in TestRail]

Error cases

Caller supplies an invalid API key while attempting to remove an existing DPDS data point from calculations [in TestRail]

Caller attempts to remove a non-existent DPDS data point from calculations for an existing data log [in TestRail]

Caller attempts to remove a DPDS data point from calculations for a non-existent datalog [in TestRail]

Sandbox

My test case [in TestRail]

My other test case [in TestRail]

Test section

My other section

Last test case [in TestRail]

Newly created test [in TestRail]
That has a description

Logging

Application Insights

Successful request to LOAD datalog is logged [in TestRail]

Failed requests

Successful request to FLUSH datalog is logged [in TestRail]

Request to FLUSH non-existent datalog is logged [in TestRail]

Request bearing invalid API key value is logged [in TestRail]

Request bearing no API key value is logged [in TestRail]

Successful request to update contact info is logged [in TestRail]

Request to set datalog post-processing parameters is logged [in TestRail]

Request to LOAD invalid datalog is logged [in TestRail]

Logging entry contains required details [in TestRail]

User attempts to insert a new DPDS data point at an index that exceeds the length of the current data series [in TestRail]

Caller inserts a new drill profile data series data point at the end of the data series [in TestRail]

User attempts to insert a new DPDS data point at index -1 [in TestRail]

Caller attempts to delete a DPDS data point from beyond the end of the data series [in TestRail]

Caller attempts to delete a scientifically recorded DPDS data point [in TestRail]

Caller removes first and last DPDS data point from calculations [in TestRail]

Caller deletes exists drill profile data series data point from end of data series [in TestRail]

Multiple data point flag updates

Caller updates existing data point with new drill rod length, pitch, depth, line deviation, and left-right offset values [in TestRail]

this is something that I did can you see

New randomly generated datalog is generated [in TestRail]

LibAndesClient

Drill with Pressure DataLog

Caching

Random

Error cases

Call made with zero-length string as serial number argument [in TestRail]

Caller submits a NaN double parameter value for first_rod_length_feet [in TestRail]

Caller submits a NaN double value for elevation_point_of_entry_feet along with valid first_rod_length_feet and typical_rod_length_feet parameters [in TestRail]

Caller submits a NaN double value for survey_relative_entry_feet along with valid first_rod_length_feet and typical_rod_length_feet parameters [in TestRail]

Caller submits a NaN double value for survey_relative_exit_feet along with valid first_rod_length_feet and typical_rod_length_feet parameters [in TestRail]