{"_id":"rinuts","_rev":"8-d6c6279b3bdbc12125daa8881bb97261","name":"rinuts","description":"A service which exposes tests through a RESTful api and allows for querying and running them, using http requests","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"rinuts","version":"0.0.1","author":{"name":"Uri Golani","email":"urigolani@gmail.com"},"description":"A service which exposes tests through a RESTful api and allows for querying and running them, using http requests","dependencies":{"express":">= 2.4.6"},"main":"index","keywords":["rinuts","rest","restful","test"],"repository":{"type":"git","url":"git://github.com/urigolani/rinuts.git"},"_npmUser":{"name":"urigolani","email":"t-urig@microsoft.com"},"_id":"rinuts@0.0.1","devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.101","_nodeVersion":"v0.5.8","_defaultsLoaded":true,"dist":{"shasum":"68e5fe783ac4e15b3b469eb88b93d5e06e7b7d45","tarball":"https://registry.npmjs.org/rinuts/-/rinuts-0.0.1.tgz","integrity":"sha512-YOaPvqWjB3sPcPg+yCYGH+7pEnZj9zMnOy/R+WZf1n5eSS4theyKPDkl4q0Vl3CSlbe962uF/Yx+lpdjr6sLLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfuY3qZLU1ZiVOfcGxbeMZCLhqYiFvVva8ITpb7zCbbgIgLK/ii8vnf/Ktgr3ViErzrlQcPu4DluW5oaxjwpRpjNk="}]},"maintainers":[{"name":"urigolani","email":"t-urig@microsoft.com"}]},"0.0.3":{"name":"rinuts","version":"0.0.3","author":{"name":"Uri Golani","email":"urigolani@gmail.com"},"description":"A service which exposes tests through a RESTful api and allows for querying and running them, using http requests","dependencies":{"express":">= 2.4.6"},"main":"index","keywords":["rinuts","rest","restful","test"],"repository":{"type":"git","url":"git://github.com/urigolani/rinuts.git"},"_npmUser":{"name":"urigolani","email":"t-urig@microsoft.com"},"_id":"rinuts@0.0.3","devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-beta-4","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"290273ff5da41974f5c10534fcd36ad38fe6046a","tarball":"https://registry.npmjs.org/rinuts/-/rinuts-0.0.3.tgz","integrity":"sha512-MVdN+oy61Q8RR/JI3QLY57mBtL9BqYwkGo6mAHM6YY5rhkrQ5nXl13Axq8Yii8VzgcAHKpPxqKTR9Cp2hu4EWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFqGw66ymu+/gYLyeNZVXHYwZuyh08DLWF6R7JXhkrRnAiA/mBjYAPSBbMwpDvr+rrvSyc1MxTCrFV78rv6mfjAuOw=="}]},"maintainers":[{"name":"urigolani","email":"t-urig@microsoft.com"}]}},"maintainers":[{"name":"urigolani","email":"t-urig@microsoft.com"}],"time":{"modified":"2022-06-26T13:20:33.366Z","created":"2011-10-23T14:38:30.012Z","0.0.1":"2011-10-23T14:38:35.038Z","0.0.3":"2012-01-04T18:28:41.532Z"},"author":{"name":"Uri Golani","email":"urigolani@gmail.com"},"repository":{"type":"git","url":"git://github.com/urigolani/rinuts.git"},"readme":"﻿\r\n# rinuts\r\n  \r\n  A service which exposes tests through a RESTful api. Allows for remote querying and running tests on the service, by using http requests\", as well as retrieving a detailed run information\r\n    \r\n  built on [node](http://nodejs.org) and [express](http://github.com/visionmedia/express) \r\n\r\n## Installation\r\n\r\n    Install with [npm](http://github.com/isaacs/npm):\r\n    \r\n        $ npm install rinuts\r\n\r\n## Usage\r\n\r\n### Starting the service:\r\n        \r\n    var path = require('path'),\r\n        rinuts = require('rinuts'),\r\n        someDriver = require('rinuts-someDriver'),\r\n        service;\r\n        \r\n        // what ever api the driver has to load tests\r\n        someDriver.addTests(*TESTS*);\r\n                \r\n        service = new rinuts(someDriver);\r\n        service.listen(3333);\r\n\r\n### Service API:\r\n           \r\n    * *ctor*  (driver, context)\r\n        Constructor. Loads a driver which implementes 'enumTests' and 'runTest'.\r\n        [Argument] driver - The driver        \r\n\t\t[Argument] context - (optional) An object being the context of each test run.         \r\n    \r\n### HTTP exposed API:\r\n\r\n    *\tGET /tests : JSON response with a list of the tests exposed. Each test includes it's unique name and a POST URL which can be used to execute it. The list structure is as follows:\r\n            {\r\n                \"*testName*\": {\r\n                    \"name\": \"*testName*\",                    \r\n                    \"url\":\"/tests/*testName*\"\r\n                    }\r\n                ...\r\n            }\r\n\r\n    *\tGET /tests/:testName : Returns an individual entry from the list above. has the form of:\r\n\t\t\t{\r\n\t\t\t\t\"name\": \"*testName*\",\t\t\t\t\r\n\t\t\t\t\"url\": \"/tests/*testName*\"}\r\n    \r\n    *\tPOST /tests/:testName : Executes the individual test and returns the test run summary, in the following structure (can be expanded by the driver):            \r\n            {\r\n                \"name\": *testName*,                \r\n                \"state\": *true|false*                \r\n            }\r\n\t\t\t\r\n\t\tAdding context to the request(Optional):\t\t\r\n\t\t\tHTTP-Headers: \"Content-Type: application/json\"\r\n\t\t\tHTTP-Body: {\"context\": *whatEver*}\" - a JSON notated object\r\n\t\t\r\n\t\tnote - added context will override context supplied to the *ctor* of rinuts.\r\n\r\n\r\n### Driver interface:\r\n    \r\n    Drivers for rinuts should export the following methods inorder to enable 'rinuts' to \r\n    enumarate the driver's tests as a reponse for 'GET' request and to run a speicific test per 'POST' request:\r\n     \r\n     *  'enumTests' (callback): applies *callback* on an array containing the tests to be exposed. each array element has the form:\r\n            {\r\n                name: *the name of the test*,\r\n                identifier: *the unique identifier of the test. will be appended to the test url in the get reponse, e.g, \\tests\\testoddnumbers*\r\n            }\r\n     *  'runTest' (identifier, callback, context) : runs the test matching 'identifier', with 'context' if supplied in the in the POST request,\r\n            and applies callback on the testresult.\r\n        \r\n        ","readmeFilename":""}