CounterTypes
CounterTypes Telerik.TestStudio.Load.Common.CounterTypeTransport collection.
Counter Type contains the description for the perfomance counter collected during a performance test.
Example:
{
    "Data": {
        "Id": "string",
        "Name": "string",
        "Description": "string",
        "PluginGuid": "string"
    },
    "MetaData": "MetaData object"
}
GET /CounterTypes GET countertypes via query. Note that this does NOT currently return attachments.
Returns the ENTIRE document including OID and Metadata, unless fields parameter or header is specified.
You may limit the number of countertypes returned by using the optional query parameter or header.
When used as a header the format is
    
Query: { "Data.FieldToCompare" : "Value" }
.
Equality is via implication only:
{ "field": "value" }
and the following operators are supported:
    
$and, $ne, $gt, $lt, $gte, $lte
Example operator usage:
    
Query:
{
    "Metadata.LastUpdate": {
        "$gt": "2012-08-15"
    }
}

Parameters

/CounterTypes?skip={skip}&take={take}&sortKeys={sortKeys}&schema={schema}&includeDeleted={includeDeleted}&query={query}&fields={fields}
skip [Int32]
Starting point for paging. Defaults to 0.
take [Int32]
End point for paging. Defaults to 100.
sortKeys [String]
Comma seperated list of fields to sort the countertype result set on. NOTE: Not implemented.
schema [String]
Identifier for the object being stored.
Example: "Telerik.TestStudio.Shared.Communication.Transports.TestListResultTransport"
includeDeleted [Boolean]
Boolean indicating wheter to fetch deleted countertypes. Defaults to true.
query [String]
Filter for countertype result set. Query format:
{"Data.Key" : "Value", "Data.Key2" : "Value2" }
fields [String]
Filter to limit the fields returned on a countertype. Fields format: Data.FieldToInclude, Data.AnotherFieldToInclude ,Metadata

Returns

An array of IStorageDataEntity objects
{
    "Id": "string",
    "Metadata": "IStorageDataMetadata",
    "Data": "json representaion of countertype"
}
HTTP Status
Reason
200
OK
400
Bad Request: Invalid arguments supplied.
GET /CounterTypes/{id} GET a countertype by id. This will return attachments.
Retrieves the full countertype including attachments. When attachments are present the response's content type will be multipart/mixed.

Parameters

/CounterTypes/{id}?includeDeleted={includeDeleted}
id [String] required
The identifier of the countertype being retreived
includeDeleted [Boolean]
Optional boolean indicating wheter to fetch deleted countertypes. Defaults to true.

Returns

IStorageDataEntity object:
{
    "Id": "string",
    "Metadata": "IStorageDataMetadata",
    "Data": "json representaion of countertype"
}
HTTP Status
Reason
200
OK
400
Bad Request: id parameter not supplied.
404
Not Found: countertype does not exist.
410
Gone: countertype is deleted when request supplies includeDeleted parameter as false.
POST /CounterTypes Add a new countertype (or countertypes) to the countertype collection
The request body should contain the json representation of the countertype or countertypes to add.
Example:
{ "Key" : "NewValue", "Key2" : "NewValue2", ... }
Note: This handles "bulk upload" of several countertypes with any number of associated attachments.
Attachments can be re-used (associated with multiple Json countertypes). When adding an attachment to a countertype the request content type must be set to Content-Type: multipart/mixed.
Example:
    
Content-Type: multipart/mixed; boundary="4c90d0f5-e0b0-4806-b9a1-214c3513b60d"
    --4c90d0f5-e0b0-4806-b9a1-214c3513b60d
    Content-Type: application/json; charset=utf-8
    { Json representation of countertype }
    --4c90d0f5-e0b0-4806-b9a1-214c3513b60d
    Content-Type: multipart/mixed
    Content-Disposition: attachment; filename="name.extension"
    file data

Parameters

/CounterTypes?schema={schema}&name={name}&parentId={parentId}
schema [String]
Optional identifier for the countertype being stored. This will be stored in the Metadata object of the created countertype.
Example: "Telerik.TestStudio.Shared.Communication.Transports.TestListResultTransport"
name [String]
Allows the inclusion of a name for metadata tagging (and Activity creation)
parentId [String]
Allows the inclusion of a Parent Id for metadata tagging (and Activity creation)

Returns

201 Created. The response body will contain the created countertype and the custom added Header contains the Meadata for the newly created countertype in json format.
Example Added custom header:     
Added:
{
    "Id": "516e8725-3c0e-4f6b-8b98-d5507429d609",
    "Metadata": {
        "Name": null,
        "ParentId": null,
        "LastUpdate": "2013-06-17T15:00:18.336Z",
        "LastUpdatedBy": "storageservice",
        "Schema": "",
        "Deleted": false,
        "AttachmentIds": null,
        "Tag": null
    },
    "Data": null
}
HTTP Status
Reason
201
Created: countertype succesfully created. Added Header contains the metadata for the newly created countertype.
400
Bad Request: Attachements are present without Content-Ids.
400
Bad Request: Attachements are present without refereneces.
PUT /CounterTypes/{id} Update a countertype in the countertype collection
The request body should contain the json representation of the countertype to update.
Example:
    
{ "Data.Key" : "NewValue", "Data.Key2" : "NewValue2" }

Note: Keys for Data values must be prefixed with "Data." qualifier.
When adding an attachment to a countertype the request content type must be set to Content-Type: multipart/mixed.
Example:
Content-Type: multipart/mixed; boundary="4c90d0f5-e0b0-4806-b9a1-214c3513b60d"

    --4c90d0f5-e0b0-4806-b9a1-214c3513b60d
    Content-Type: application/json; charset=utf-8
    { Json representation of countertype }
    --4c90d0f5-e0b0-4806-b9a1-214c3513b60d
    Content-Type: multipart/mixed
    Content-Disposition: attachment; filename="name.extension"
    file data

Parameters

/CounterTypes/{id}?lastUpdate={lastUpdate}
id [String] required
The identifier of the countertype to update
lastUpdate [String] required
The timestamp of last update for this countertype.
Dates are stored in UTC and should be in ISO-8601 format(yyyy-MM-ddTHH:mmm:ssss.fffZ)

Returns

200 OK. The response body contains the updated countertype and the custom Updated header contains the updated countertype metadata.
Example custom Updated header:
Updated:
{
    "UpdatedDocuments": [
        {
            "Id": "516e8725-3c0e-4f6b-8b98-d5507429d609",
            "Metadata": {
                "Name": null,
                "ParentId": null,
                "LastUpdate": "2013-06-17T15:14:16.0482808Z",
                "LastUpdatedBy": "storageservice",
                "Schema": "",
                "Deleted": false,
                "AttachmentIds": null,
                "Tag": null
            },
            "Data": null
        }
    ]
}
HTTP Status
Reason
200
OK. Updated header will contain metadata for updated countertype.
400
Bad Request: id parameter is not supplied.
400
Bad Request: lastUpdate is not in the correct date format. All dates must be UTC in ISO-8601 format (yyyy-MM-ddTHH:mmm:ssss.fffZ).
400
Bad Request: lastUpdate parameter is not supplied.
409
Conflict: countertype has been previously deleted.
409
Conflict: lastUpdate does not match countertype's last updated timestamp.
DELETE /CounterTypes/{id} Remove a countertype from the countertype collection
Note: this does not perform a hard delete. The countertype is tombstoned in the collection.

Parameters

/CounterTypes/{id}?lastUpdate={lastUpdate}
id [String] required
The identifier of the countertype to remove.
lastUpdate [String] required
The timestamp of last update for this countertype.
Dates are stored in UTC and should be in ISO-8601 format(yyyy-MM-ddTHH:mmm:ssss.fffZ)

Returns

200 OK
HTTP Status
Reason
200
OK
400
Bad Request: id parameter is not supplied.
400
Bad Request: lastUpdate is not in the correct date format. All dates must be UTC in ISO-8601 format (yyyy-MM-ddTHH:mmm:ssss.fffZ).
400
Bad Request: lastUpdate parameter is not supplied.
409
Conflict: countertype has been previously deleted.
409
Conflict: lastUpdate does not match countertype's last updated timestamp.