Testsuites
Get testsuite info
Get testsuite info.
Response
200 OK
{
"timestamp": "2016-04-18T15:53:04.590283978-04:00",
"data": {
"id": 1,
"build_info": "Version 10.0 build 2 (21513), built 2016-04-04 14:13:19 by build@cdr-forge6.lan (x86_64)",
"copyright": "Copyright (c) 2001-2016 by QA Cafe",
"customer": "company name",
"lifetime": "2018-06-11",
"os": "Linux 3.10.0-327.10.1.el7.x86_64 x86_64",
"os_type": "el8",
"nta_platform": "NTA1000",
"serial_number": "",
"system_id": "deadbeefbdeadbeefdeadbeefdeadbee",
"testsuite": "cdrouter",
"release": "10.0.2",
"addons": [
"multiport",
"ipv6",
"storage",
"ike",
"tr69",
"tr69-edm",
"nmap",
"bbf.069",
"snmp",
"performance"
],
"all_addons": [
"multiport",
"ipv6",
"storage",
"ike",
"tr69",
"tr69-edm",
"nmap",
"bbf.069",
"viewer",
"snmp",
"performance"
],
"interfaces": [
{
"value": "eth1",
"is_wireless": false,
"is_ics": false
},
{
"value": "eth2",
"is_wireless": false,
"is_ics": false
}
],
"execute_instances": 1
}
}
Search testsuite
Perform full text search of testsuite.
URL Parameters
Name | Description |
---|---|
q |
string (required) Search query text. |
Response
200 OK
Response may contain addons
, modules
, tests
, reasons
, errors
and testvars
arrays containing entries matching the search query.
{
"timestamp": "2016-04-18T16:26:46.065696921-04:00",
"data": {
"reasons": [
{
"id": 1,
"name": "requires-lan-interface",
"index": 133,
"reason": "No LAN interface is configured, skipping all tests that require at least one LAN interface",
"description": "No LAN interface is configured. All tests that require end-to-end connectivity\nor LAN specific functionality will be automatically skipped. To run these tests\nplease connect at least one port on the CDRouter system to the DUT and configure\nthe testvar lanInterface with the interface name.",
"modules": [
],
"tests": [
"cdrouter_basic_1",
"cdrouter_basic_10",
"cdrouter_basic_20",
...
]
}
],
"errors": [
{
"id": 1,
"name": "linux-address-configured-on-interface",
"index": 9,
"description": "CDRouter encountered an error while trying to open an interface\nspecified by lanInterface/wanInterface. The interface has an address\nconfigured under Linux (see `/sbin/ifconfig -a`). CDRouter interfaces\nshould not have any IP addresses configured under Linux. CDRouter\nwill bring up and configure interfaces automatically based on your\nCDRouter configuration file. Your Linux system configuration may not\nbe compatible with CDRouter. Please see the test log for details.\n\nPlease see this [Knowledge Base article] [1] for more help.\n\n[1]: https://support.qacafe.com/knowledge-base/how-should-i-configure-my-ethernet-interfaces-for-cdrouter-demo/ \"How should I configure my Ethernet interfaces for CDRouter?\""
},
{
"id": 1,
"name": "mp-no-additional-lan-interface",
"index": 10,
"description": "Some tests require more than one LAN client to run. CDRouter\nMultiport will automatically cycle through additional LAN interfaces\nwhen creating new LAN clients for tests that require them to allow all\nphysical interfaces to be utilized. CDRouter was unable to find an\nadditional LAN interface and aborted the package run.\n\nIf this interface is wireless, this test must be skipped as CDRouter\ndoes not currently support creating multiple LAN clients on the same\nwireless interface. You can also set useSameLanInterface to 'yes' to\nprevent CDRouter Multiport from cycling LAN interfaces between test\ncases.\n\nPlease see the [Using CDRouter Multiport] [1] section of the CDRouter\nUser Guide for more information.\n\n[1]: http://support.qacafe.com/user-guide/cdrouter-user-guide/#using-cdrouter-multiport \"Using CDRouter Multiport\""
},
{
"id": 1,
"name": "no-link-ethernet-interface",
"index": 17,
"description": "In its start procedure, CDRouter ensures that all Ethernet interfaces\nspecified by lanInterface/wanInterface have link. The link on one of\nthe Ethernet interfaces used by CDRouter did not come up (no carrier)\nwithin startTimeout seconds and CDRouter aborted the package run.\nPlease check Ethernet cable on the corresponding interface."
},
],
"testvars": [
{
"id": 1,
"name": "laninterface",
"index": 347,
"humanname": "DUT LAN Interface",
"display": "lanInterface",
"dataclass": "interface",
"addedin": "",
"deprecatedin": "",
"obsoletedin": "",
"min": "",
"max": "",
"length": "",
"description": "This option specifies the network interface CDRouter will use as its\nprimary LAN test interface. This interface must be physically\nconnected to one of the DUT's LAN interfaces. Any Ethernet network\ninterface that is properly installed in the Linux host system may be\nused. Certain 802.11 a/b/g/n wireless network interfaces may also be\nused. Please contact support@qacafe.com for more information on selecting and installing a suitable wireless\nnetwork interface for use with CDRouter.\n\nNote that all network interfaces used by CDRouter must be configured\nwith a static IP address of 0.0.0.0 in the Linux host system. CDRouter\nwill automatically configure the IP addresses of all test interfaces\nbased on the configuration options specified here. Please see this\n[Knowledge Base article](https://support.qacafe.com/knowledge-base/how-should-i-configure-my-ethernet-interfaces-for-cdrouter-demo/)\nfor more information.\n\nFor certain device types and test setups a LAN test interface is not\nrequired. Beginning in CDRouter 9.2, the LAN test interface may be disabled\nby setting this testvar to the keyword **none**.",
"default": "eth1",
"defaultdisabled": false,
"dyndefault": false,
"keywords": [],
"alsoaccept": [],
"wildcard": false,
"instances": 0,
"parent": "",
"children": [],
"tests": []
},
{
"id": 1,
"name": "lanmac",
"index": 349,
"humanname": "MAC Address",
"display": "lanMac",
"dataclass": "mac-address",
"addedin": "",
"deprecatedin": "",
"obsoletedin": "",
"min": "",
"max": "",
"length": "",
"description": "This parameter specifies the MAC address CDRouter will use for the primary\nLAN client on this LAN test interface. This value must be unique and\ncannot be set to the MAC address of the underlying physical interface specified\nby the testvar lanInterface. If not specified, a random MAC address will be\nenerated using the OUI specified by the cdrouterOui testvar.\n\nAny additional LAN hosts that are created during test cases will also\nautomatically generate a MAC address using the cdrouterOui value.",
"default": "b0:75:0c:00:00:01",
"defaultdisabled": true,
"dyndefault": false,
"keywords": [],
"alsoaccept": [],
"wildcard": false,
"instances": 0,
"parent": "",
"children": [],
"tests": []
},
{
"id": 1,
"name": "usesamelaninterface",
"index": 674,
"humanname": "",
"display": "useSameLanInterface",
"dataclass": "keyword-list",
"addedin": "",
"deprecatedin": "",
"obsoletedin": "",
"min": "",
"max": "",
"length": "",
"description": "If this testvar is set to no, CDRouter will change LAN interfaces each\ntime a test is run when multiple LAN interfaces are configured. You\ncan disable this behavior by configuring the testvar\nuseSameLanInterface to yes. This is a global testvar that should not\nbe configured within a testvar_group.",
"default": "no",
"defaultdisabled": false,
"dyndefault": false,
"keywords": [
"yes",
"no"
],
"alsoaccept": [],
"wildcard": false,
"instances": 0,
"parent": "",
"children": [],
"tests": []
}
]
}
}
List groups
Get a list of groups.
URL Parameters
Name | Description |
---|---|
filter |
string (optional) See Filtering |
sort |
string (optional) See Sorting |
Response
200 OK
{
"timestamp": "2016-04-18T16:34:04.956771947-04:00",
"data": [
{
"id": 1,
"name": "CDRouter",
"index": 0,
"test_count": 623,
"modules": [
"basic.tcl",
"dhcp-c.tcl",
"pppoe-c.tcl",
"pppoa-c.tcl",
"pptp-c.tcl",
"l2tp-c.tcl",
"chap.tcl",
"mac-filter.tcl",
"dhcp-s.tcl",
"nat.tcl",
"nat-timeout.tcl",
"renum-dhcp.tcl",
"renum-pppoe.tcl",
"renum-pppoa.tcl",
"renum-pptp.tcl",
"renum-l2tp.tcl",
"icmp.tcl",
"firewall.tcl",
"firewall-out.tcl",
"apps.tcl",
"ipsecpt.tcl",
"forward.tcl",
"jumbo.tcl",
"rip.tcl",
"scaling.tcl",
"vservice.tcl",
"url-filter.tcl",
"triggerp.tcl",
"upnp.tcl",
"pptp-pt.tcl",
"l2tp-pt.tcl",
"eapol.tcl",
"eap-md5.tcl",
"eap-tls.tcl",
"eap-wep.tcl",
"eap-radius.tcl",
"pppoe-pt.tcl",
"ipsec-esp.tcl",
"dmz.tcl",
"mcast.tcl",
"dyndns.tcl",
"sip-alg.tcl",
"sip-alg-tcp.tcl",
"dns.tcl",
"dns-tcp.tcl",
"mdns.tcl",
"dns-rfc5625.tcl",
"static.tcl",
"dos.tcl",
"xbox.tcl",
"sctp.tcl",
"lldp.tcl",
"rfc5508.tcl",
"rfc4787.tcl",
"http.tcl",
"https.tcl",
"heartbleed.tcl",
"ssl.tcl"
]
},
{
"id": 1,
"name": "Multiport",
"index": 1,
"test_count": 73,
"modules": [
"nat-mp.tcl",
"rip-wan.tcl",
"wan-fail.tcl",
"forward-mp.tcl",
"jumbo-mp.tcl",
"lan-mp.tcl",
"nat-static.tcl",
"guest.tcl",
"lan-mp-v6.tcl",
"rip-ng-wan.tcl",
"forward-v6-mp.tcl",
"jumbo-v6-mp.tcl",
"guest-v6.tcl"
]
},
{
"id": 1,
"name": "Custom",
"index": 10,
"test_count": 0,
"modules": []
}
]
}
Get a group
Get a group.
Response
200 OK
{
"timestamp": "2016-04-18T16:36:42.55547752-04:00",
"data": {
"id": 1,
"name": "CDRouter",
"index": 0,
"test_count": 623,
"modules": [
"basic.tcl",
"dhcp-c.tcl",
"pppoe-c.tcl",
"pppoa-c.tcl",
"pptp-c.tcl",
"l2tp-c.tcl",
"chap.tcl",
"mac-filter.tcl",
"dhcp-s.tcl",
"nat.tcl",
"nat-timeout.tcl",
"renum-dhcp.tcl",
"renum-pppoe.tcl",
"renum-pppoa.tcl",
"renum-pptp.tcl",
"renum-l2tp.tcl",
"icmp.tcl",
"firewall.tcl",
"firewall-out.tcl",
"apps.tcl",
"ipsecpt.tcl",
"forward.tcl",
"jumbo.tcl",
"rip.tcl",
"scaling.tcl",
"vservice.tcl",
"url-filter.tcl",
"triggerp.tcl",
"upnp.tcl",
"pptp-pt.tcl",
"l2tp-pt.tcl",
"eapol.tcl",
"eap-md5.tcl",
"eap-tls.tcl",
"eap-wep.tcl",
"eap-radius.tcl",
"pppoe-pt.tcl",
"ipsec-esp.tcl",
"dmz.tcl",
"mcast.tcl",
"dyndns.tcl",
"sip-alg.tcl",
"sip-alg-tcp.tcl",
"dns.tcl",
"dns-tcp.tcl",
"mdns.tcl",
"dns-rfc5625.tcl",
"static.tcl",
"dos.tcl",
"xbox.tcl",
"sctp.tcl",
"lldp.tcl",
"rfc5508.tcl",
"rfc4787.tcl",
"http.tcl",
"https.tcl",
"heartbleed.tcl",
"ssl.tcl"
]
}
}
List modules
Get a list of modules.
URL Parameters
Name | Description |
---|---|
filter |
string (optional) See Filtering |
sort |
string (optional) See Sorting |
Response
200 OK
{
"timestamp": "2016-04-18T16:36:42.561088347-04:00",
"data": [
{
"id": 1,
"name": "apps.tcl",
"group": "CDRouter",
"description": "Application layer gateway (ALG) tests for FTP, DNS, TFTP, SMTP, POP3, MSN, RTSP and others",
"test_count": 47,
"tests": [
"cdrouter_app_2",
"cdrouter_app_3",
"cdrouter_app_10",
"cdrouter_app_11",
"cdrouter_app_12",
"cdrouter_app_14",
"cdrouter_app_15",
"cdrouter_app_16",
"cdrouter_app_17",
"cdrouter_app_18",
"cdrouter_app_20",
"cdrouter_app_21",
"cdrouter_app_22",
"cdrouter_app_25",
"cdrouter_app_26",
"cdrouter_app_27",
"cdrouter_app_28",
"cdrouter_app_30",
"cdrouter_app_100",
"cdrouter_app_110",
"cdrouter_app_120",
"cdrouter_app_122",
"cdrouter_app_124",
"cdrouter_app_126",
"cdrouter_app_130",
"cdrouter_app_131",
"cdrouter_app_200",
"cdrouter_app_205",
"cdrouter_app_207",
"cdrouter_app_220",
"cdrouter_app_225",
"cdrouter_app_227",
"cdrouter_app_302",
"cdrouter_app_305",
"cdrouter_app_310",
"cdrouter_rtsp_1",
"cdrouter_rtsp_2",
"cdrouter_rtsp_10",
"cdrouter_rtsp_20",
"cdrouter_rtsp_21",
"cdrouter_rtsp_22",
"cdrouter_rtsp_30",
"cdrouter_rtsp_50",
"cdrouter_rtsp_60",
"cdrouter_rtsp_70",
"cdrouter_mptcp_1",
"cdrouter_mptcp_2"
]
},
{
"id": 1,
"name": "basic.tcl",
"group": "CDRouter",
"description": "Initial connectivity tests to verify ARP and DHCP client are connected",
"test_count": 4,
"tests": [
"cdrouter_basic_1",
"cdrouter_basic_2",
"cdrouter_basic_10",
"cdrouter_basic_20"
]
},
{
"id": 1,
"name": "chap.tcl",
"group": "CDRouter",
"description": "PPP CHAP tests for PPP based protocols on the WAN (PPPoE, PPPoA, PPTP)",
"test_count": 2,
"tests": [
"cdrouter_chap_10",
"cdrouter_chap_20"
]
}
]
}
Get a module
Get a module.
Response
200 OK
{
"timestamp": "2016-04-18T16:40:41.150771661-04:00",
"data": {
"id": 1,
"name": "basic.tcl",
"index": 0,
"group": "CDRouter",
"description": "Initial connectivity tests to verify ARP and DHCP client are connected",
"test_count": 4,
"tests": [
"cdrouter_basic_1",
"cdrouter_basic_2",
"cdrouter_basic_10",
"cdrouter_basic_20"
],
"labels": [
"all",
"requires-ipv4"
]
}
}
List tests
Get a list of tests.
URL Parameters
Name | Description |
---|---|
filter |
string (optional) See Filtering |
sort |
string (optional) See Sorting |
Response
200 OK
{
"timestamp": "2016-04-18T16:42:41.024029561-04:00",
"data": [
{
"id": 1,
"name": "cdrouter_basic_1",
"index": 0,
"group": "CDRouter",
"module": "basic.tcl",
"synopsis": "Router responds to ARP Request on LAN interface"
},
{
"id": 1,
"name": "cdrouter_basic_2",
"index": 1,
"group": "CDRouter",
"module": "basic.tcl",
"synopsis": "Router responds to ARP Request on WAN interface"
},
{
"id": 1,
"name": "cdrouter_basic_10",
"index": 2,
"group": "CDRouter",
"module": "basic.tcl",
"synopsis": "Verify LAN DHCP clients receive gateway/DNS configuration from WAN side"
}
]
}
Get a test
Get a test.
Response
200 OK
{
"timestamp": "2016-04-18T16:44:15.299457901-04:00",
"data": {
"id": 1,
"name": "cdrouter_basic_1",
"index": 0,
"group": "CDRouter",
"module": "basic.tcl",
"synopsis": "Router responds to ARP Request on LAN interface",
"description": "\n\n step 1. ...",
"labels": [
"all",
"requires-ipv4",
"requires-lan-interface"
],
"testvars": []
}
}
List labels
Get a list of labels.
URL Parameters
Name | Description |
---|---|
filter |
string (optional) See Filtering |
sort |
string (optional) See Sorting |
Response
200 OK
{
"timestamp": "2016-04-18T16:47:24.143022892-04:00",
"data": [
{
"id": 1,
"name": "ftp-non-anonymous-v4",
"reason": "No IPv4 FTP users are configured, skipping FTP tests that require at least one configured FTP user"
},
{
"id": 1,
"name": "ftp-non-anonymous-v6",
"reason": "No IPv4 FTP users are configured, skipping FTP tests that require at least one configured FTP user"
}
]
}
Get a label
Get a label.
URL Parameters
Name | Description |
---|---|
linkify |
string (optional) If given, linkify testvar names in description fields. Choices: html (HTML links), md (Markdown links) |
Response
200 OK
{
"timestamp": "2016-04-18T16:49:11.312872024-04:00",
"data": {
"id": 1,
"name": "ftp-non-anonymous-v4",
"index": 1,
"reason": "No IPv4 FTP users are configured, skipping FTP tests that require at least one configured FTP user",
"description": "These tests require the configuration of at least one non-anonymous IPv4 FTP\nuser. Please see the [CDRouter Storage User Guide](http://support.qacafe.com/user-guide/cdrouter-storage-user-guide)\nfor more information.",
"modules": [],
"tests": [
"ftp_30",
"ftp_31",
"ftp_wan_30",
"ftp_wan_31",
"ftps_30",
"ftps_31",
"ftps_wan_30",
"ftps_wan_31"
]
}
}
List errors
Get a list of errors.
URL Parameters
Name | Description |
---|---|
filter |
string (optional) See Filtering |
sort |
string (optional) See Sorting |
Response
200 OK
{
"timestamp": "2016-04-18T16:51:06.620682909-04:00",
"data": [
{
"id": 1,
"name": "acs-tcp-offload-port-in-use"
},
{
"id": 1,
"name": "eapol-authentication-failed"
},
{
"id": 1,
"name": "incompatible-package-versions"
}
]
}
Get an error
Get an error.
URL Parameters
Name | Description |
---|---|
linkify |
string (optional) If given, linkify testvar names in description fields. Choices: html (HTML links), md (Markdown links) |
Response
200 OK
{
"timestamp": "2016-04-18T16:51:46.791218048-04:00",
"data": {
"id": 1,
"name": "eapol-authentication-failed",
"index": 1,
"description": "802.1X/EAPOL is enabled on one or more LAN interfaces, but\nauthentication failed. Please verify that 802.1X is enabled on the DUT\nand that the DUT's LAN security mode and settings are consistent with\nCDRouter's lanSecurity testvar associated configuration options.\n\nPlease see the [LAN Configuration] [1] section of the CDRouter User \nGuide for more information.\n\n[1]: http://support.qacafe.com/user-guide/cdrouter-user-guide/#lan-configuration \"LAN Configuration\""
}
}
List testvars
Get a list of testvars.
URL Parameters
Name | Description |
---|---|
filter |
string (optional) See Filtering |
sort |
string (optional) See Sorting |
Response
200 OK
{
"timestamp": "2016-04-18T16:54:34.715359597-04:00",
"data": [
{
"id": 1,
"name": "acsauth",
"display": "acsAuth",
"dataclass": "keyword-list",
"description": "This option specifies the type of http authentication utilized by the\nCDRouter ACS, either digest, basic, or null.",
"default": "digest",
"defaultdisabled": false
},
{
"id": 1,
"name": "acsauthoncepersession",
"display": "acsAuthOncePerSession",
"dataclass": "keyword-list",
"description": "When configured to \"yes\", the ACS will only request authentication for\nthe first CWMP request in the same TCP session. Other requests do not\nrequire authentication. This mode allows the CDRouter ACS to act\nsimilar to other ACS vendors which only authenticate the first request\nin a session.",
"default": "no",
"defaultdisabled": false
},
{
"id": 1,
"name": "acscacertpath",
"display": "acsCaCertPath",
"dataclass": "word",
"description": "This testvar can be used to specify the location to a file on disk\ncontaining any intermediate CAs required to validate the server\ncertificate specified by the testvar acsCertPath. This testvar is\nneeded if you are using intermediate CAs that are not already\ninstalled on the CPE.",
"default": "/usr/share/doc/cdrouter/acs.cdroutertest.com-ca.pem",
"defaultdisabled": false
}
]
}
Get a testvar
Get a testvar.
URL Parameters
Name | Description |
---|---|
group |
string (optional) Get a testvar specific to the given testvar group. |
linkify |
string (optional) If given, linkify testvar names in description fields. Choices: html (HTML links), md (Markdown links) |
Response
200 OK
{
"timestamp": "2016-04-18T16:55:12.530343329-04:00",
"data": {
"id": 1,
"name": "acsauth",
"index": 0,
"humanname": "ACS Authentication",
"display": "acsAuth",
"dataclass": "keyword-list",
"addedin": "",
"deprecatedin": "",
"obsoletedin": "",
"min": "",
"max": "",
"length": "",
"description": "This option specifies the type of http authentication utilized by the\nCDRouter ACS, either digest, basic, or null.",
"default": "digest",
"defaultdisabled": false,
"dyndefault": false,
"keywords": [
"null",
"basic",
"digest"
],
"alsoaccept": [],
"wildcard": false,
"instances": 0,
"parent": "",
"children": [],
"tests": [
"od128_test_1.1",
"od128_test_1.2",
"od128_test_2.1",
"od128_test_2.2",
"od128_test_2.3",
"od128_test_2.4",
"od128_test_26.1"
]
}
}
Get a testvar’s completions
Get completions for a testvar’s value.
URL Parameters
Name | Description |
---|---|
group |
string (optional) Get completions for a testvar specific to the given testvar group. |
match |
string (optional) If given, returned completions must start with this string. |
Example
Return completions for testvar wanMode
:
GET /api/v1/testsuites/{id}/testvars/wanMode/values
Return completions for testvar wanMode
which begin with PPPo
:
GET /api/v1/testsuites/{id}/testvars/wanMode/values?match=PPPo
Return completions for testvar permission
in testvar group smbuser
:
GET /api/v1/testsuites/{id}/testvars/permission/values?group=smbuser
Response
200 OK
{
"timestamp": "2016-04-18T17:04:28.077997838-04:00",
"data": [
"DHCP",
"static",
"PPPoE",
"PPPoA",
"PPTP",
"L2TP",
"dslite",
"none"
]
}