diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..91b2d05 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM node:10 + +# Create app directory +WORKDIR /var/lib/jenkins/workspace/VFS-MultiEnv/app + +# Install app dependencies +# A wildcard is used to ensure both package.json AND package-lock.json are copied +# where available (npm@5+) +COPY package.json ./ + +RUN npm install +# If you are building your code for production +# RUN npm ci --only=production + +# Bundle app source +COPY . . + +EXPOSE 8080 +CMD [ "node", "Sample.js" ] diff --git a/geckodriver-v0.26.0-win32.zip b/geckodriver-v0.26.0-win32.zip new file mode 100644 index 0000000..e8746fe Binary files /dev/null and b/geckodriver-v0.26.0-win32.zip differ diff --git a/index.js b/index.js new file mode 100644 index 0000000..20fbca2 --- /dev/null +++ b/index.js @@ -0,0 +1,74 @@ +/* + LambdaTest selenium automation sample example + Configuration + ---------- + username: Username can be found at automation dashboard + accessToken: AccessToken can be generated from automation dashboard or profile section + + Result + ------- + Execute NodeJS Automation Tests on LambdaTest Distributed Selenium Grid +*/ +const webdriver = require('selenium-webdriver'); + +/* + Setup remote driver + Params + ---------- + platform : Supported platform - (Windows 10, Windows 8.1, Windows 8, Windows 7, macOS High Sierra, macOS Sierra, OS X El Capitan, OS X Yosemite, OS X Mavericks) + browserName : Supported platform - (chrome, firefox, Internet Explorer, MicrosoftEdge, Safari) + version : Supported list of version can be found at https://www.lambdatest.com/capabilities-generator/ +*/ + +// username: Username can be found at automation dashboard +const USERNAME = 'ajaykorni'; + +// AccessKey: AccessKey can be generated from automation dashboard or profile section +const KEY = 'ajaykorni'; + +// gridUrl: gridUrl can be found at automation dashboard +const GRID_HOST = 'facebook.com'; + +function searchTextOnGoogle() { + + // Setup Input capabilities + const capabilities = { + platform: 'ubuntu', + browserName: 'chrome', + version: '67.0', + resolution: '1280x800', + network: true, + visual: true, + console: true, + video: true, + name: 'Test 1', // name of the test + build: 'NodeJS build' // name of the build + } + + // URL: https://{username}:{accessToken}@beta-hub.lambdatest.com/wd/hub + const gridUrl = 'https://' + USERNAME + ':' + KEY + '@' + GRID_HOST; + + // setup and build selenium driver object + const driver = new webdriver.Builder() + .usingServer(gridUrl) + .withCapabilities(capabilities) + .build(); + + // navigate to a url, search for a text and get title of page + driver.get('https://www.google.com/ncr').then(function() { + driver.findElement(webdriver.By.name('q')).sendKeys('LambdaTest\n').then(function() { + driver.getTitle().then(function(title) { + setTimeout(function() { + console.log(title); + driver.executeScript('lambda-status=passed'); + driver.quit(); + }, 5000); + }); + }); + }).catch(function(err){ + console.log("test failed with reason "+err) + driver.executeScript('lambda-status=failed'); + driver.quit(); + }); +} +searchTextOnGoogle(); diff --git a/job.yaml b/job.yaml new file mode 100644 index 0000000..f453667 --- /dev/null +++ b/job.yaml @@ -0,0 +1,14 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: kube-hunter +spec: + template: + spec: + containers: + - name: kube-hunter + image: aquasec/kube-hunter + command: ["python", "kube-hunter.py"] + args: ["--pod"] + restartPolicy: Never + backoffLimit: 4 diff --git a/kube-hunter.py b/kube-hunter.py new file mode 100644 index 0000000..2fc5d42 --- /dev/null +++ b/kube-hunter.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 + +import argparse +import logging +import threading + +from kube_hunter.conf import config +from kube_hunter.modules.report.plain import PlainReporter +from kube_hunter.modules.report.yaml import YAMLReporter +from kube_hunter.modules.report.json import JSONReporter +from kube_hunter.modules.report.dispatchers import STDOUTDispatcher, HTTPDispatcher +from kube_hunter.core.events import handler +from kube_hunter.core.events.types import HuntFinished, HuntStarted +from kube_hunter.modules.discovery.hosts import RunningAsPodEvent, HostScanEvent + + +loglevel = getattr(logging, config.log.upper(), logging.INFO) + +if config.log.lower() != "none": + logging.basicConfig(level=loglevel, format='%(message)s', datefmt='%H:%M:%S') + +reporters = { + 'yaml': YAMLReporter, + 'json': JSONReporter, + 'plain': PlainReporter +} + +if config.report.lower() in reporters.keys(): + config.reporter = reporters[config.report.lower()]() +else: + logging.warning('Unknown reporter selected, using plain') + config.reporter = reporters['plain']() + +dispatchers = { + 'stdout': STDOUTDispatcher, + 'http': HTTPDispatcher +} + +if config.dispatch.lower() in dispatchers.keys(): + config.dispatcher = dispatchers[config.dispatch.lower()]() +else: + logging.warning('Unknown dispatcher selected, using stdout') + config.dispatcher = dispatchers['stdout']() + +import kube_hunter + + +def interactive_set_config(): + """Sets config manually, returns True for success""" + options = [("Remote scanning", "scans one or more specific IPs or DNS names"), + ("Interface scanning","scans subnets on all local network interfaces"), + ("IP range scanning","scans a given IP range")] + + print("Choose one of the options below:") + for i, (option, explanation) in enumerate(options): + print("{}. {} ({})".format(i+1, option.ljust(20), explanation)) + choice = input("Your choice: ") + if choice == '1': + config.remote = input("Remotes (separated by a ','): ").replace(' ', '').split(',') + elif choice == '2': + config.interface = True + elif choice == '3': + config.cidr = input("CIDR (example - 192.168.1.0/24): ").replace(' ', '') + else: + return False + return True + + +def list_hunters(): + print("\nPassive Hunters:\n----------------") + for hunter, docs in handler.passive_hunters.items(): + name, doc = hunter.parse_docs(docs) + print("* {}\n {}\n".format(name, doc)) + + if config.active: + print("\n\nActive Hunters:\n---------------") + for hunter, docs in handler.active_hunters.items(): + name, doc = hunter.parse_docs(docs) + print("* {}\n {}\n".format( name, doc)) + + +global hunt_started_lock +hunt_started_lock = threading.Lock() +hunt_started = False + +def main(): + global hunt_started + scan_options = [ + config.pod, + config.cidr, + config.remote, + config.interface + ] + try: + if config.list: + list_hunters() + return + + if not any(scan_options): + if not interactive_set_config(): return + + with hunt_started_lock: + hunt_started = True + handler.publish_event(HuntStarted()) + if config.pod: + handler.publish_event(RunningAsPodEvent()) + else: + handler.publish_event(HostScanEvent()) + + # Blocking to see discovery output + handler.join() + except KeyboardInterrupt: + logging.debug("Kube-Hunter stopped by user") + # happens when running a container without interactive option + except EOFError: + logging.error("\033[0;31mPlease run again with -it\033[0m") + finally: + hunt_started_lock.acquire() + if hunt_started: + hunt_started_lock.release() + handler.publish_event(HuntFinished()) + handler.join() + handler.free() + logging.debug("Cleaned Queue") + else: + hunt_started_lock.release() + + +if __name__ == '__main__': + main() diff --git a/kubernetes.yaml b/kubernetes.yaml new file mode 100644 index 0000000..c9b9599 --- /dev/null +++ b/kubernetes.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: Service +metadata: + name: hello-kubernetes +spec: + type: LoadBalancer + ports: + - port: 80 + targetPort: 8080 + selector: + app: hello-kubernetes +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: hello-kubernetes +spec: + replicas: 3 + selector: + matchLabels: + app: hello-kubernetes + template: + metadata: + labels: + app: hello-kubernetes + spec: + containers: + - name: hello-kubernetes + image: paulbouwer/hello-kubernetes:1.5 + ports: + - containerPort: 8080 diff --git a/postman_collection3.json b/postman_collection3.json new file mode 100644 index 0000000..df86c24 --- /dev/null +++ b/postman_collection3.json @@ -0,0 +1,537 @@ +{ + "version": 1, + "collections": [ + { + "id": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "name": "Datamining API License", + "description": "The Datamining API License grants you:\n\n* The ability to search for FT articles based on specific fields, including body text, headline and section\n* The right to cache headlines for up to 30 days provided you check for deletions or changes\n* A default rate limit of 2 API calls per second and 5,000 API calls per day\n* 140 character SMS / Twitter length compatible titles", + "order": [], + "folders": [ + { + "name": "Content (Enriched)", + "description": "", + "collectionId": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "collection": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "order": [ + "c3e3e9d3-afdb-afaf-8d00-b131fbfee6ff" + ], + "owner": "2445168", + "folders_order": [], + "createdAt": 1503481185404, + "updatedAt": 1503481185404, + "id": "d62660f2-a752-1266-fe77-bd787ecee0df", + "collection_id": "300e25bc-14f5-f3ad-8633-e995c2740b13" + }, + { + "name": "Notifications", + "description": "", + "collectionId": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "collection": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "order": [ + "b411b115-f15e-ae3c-d5d0-99779beb1ad5" + ], + "owner": "2445168", + "folders_order": [], + "createdAt": 1503481194470, + "updatedAt": 1503481194471, + "id": "8f07c42e-2e10-3382-b1f1-1e64aa1085ce", + "collection_id": "300e25bc-14f5-f3ad-8633-e995c2740b13" + }, + { + "name": "Content", + "description": "", + "collectionId": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "collection": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "order": [ + "33807338-df09-d541-1da3-c042effc36d7" + ], + "owner": "2445168", + "folders_order": [], + "createdAt": 1503481185404, + "updatedAt": 1503481185404, + "id": "75602e12-8463-f434-d337-35d2bd69d353", + "collection_id": "300e25bc-14f5-f3ad-8633-e995c2740b13" + } + ], + "folders_order": [ + "8f07c42e-2e10-3382-b1f1-1e64aa1085ce", + "75602e12-8463-f434-d337-35d2bd69d353", + "d62660f2-a752-1266-fe77-bd787ecee0df" + ], + "timestamp": 1505208280685, + "synced": true, + "remote_id": 0, + "owner": "2445168", + "sharedWithTeam": false, + "subscribed": false, + "public": false, + "createdAt": 1505314431641, + "updatedAt": 1505314431641, + "write": true, + "published": false, + "favorite": false, + "permissions": {}, + "syncedPermissions": {}, + "shared": false, + "hasRequests": true, + "requests": [ + { + "id": "33807338-df09-d541-1da3-c042effc36d7", + "headers": "X-Api-Key: {{KEY}}\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/e949ea92-bdae-11e6-8b45-b8b81dd5d080", + "queryParams": [], + "pathVariables": {}, + "pathVariableData": [], + "preRequestScript": null, + "method": "GET", + "collectionId": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "data": null, + "dataMode": "params", + "name": "GET Content 1: ID={ItemId}", + "description": "", + "descriptionFormat": "html", + "time": 1503481631271, + "version": 2, + "responses": [], + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "folder": "75602e12-8463-f434-d337-35d2bd69d353", + "owner": "2445168", + "collection_id": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "isFromCollection": true, + "collection": "300e25bc-14f5-f3ad-8633-e995c2740b13" + }, + { + "id": "b411b115-f15e-ae3c-d5d0-99779beb1ad5", + "headers": "X-Api-Key: {{KEY}}\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/notifications?since=2017-08-08T00:00:00.000Z", + "queryParams": [ + { + "key": "since", + "value": "2017-08-08T00:00:00.000Z", + "equals": true, + "description": "", + "enabled": true + } + ], + "pathVariables": {}, + "pathVariableData": [], + "preRequestScript": null, + "method": "GET", + "collectionId": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "data": null, + "dataMode": "params", + "name": "GET Notifications 2: Since={TimeStamp}", + "description": "", + "descriptionFormat": "html", + "time": 1503481725650, + "version": 2, + "responses": [], + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "folder": "8f07c42e-2e10-3382-b1f1-1e64aa1085ce", + "owner": "2445168", + "collection_id": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "isFromCollection": true, + "collection": "300e25bc-14f5-f3ad-8633-e995c2740b13" + }, + { + "id": "c3e3e9d3-afdb-afaf-8d00-b131fbfee6ff", + "headers": "X-Api-Key: {{KEY}}\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/enrichedcontent/e949ea92-bdae-11e6-8b45-b8b81dd5d080", + "queryParams": [], + "preRequestScript": null, + "pathVariables": {}, + "pathVariableData": [], + "method": "GET", + "data": null, + "dataMode": "params", + "version": 2, + "tests": null, + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1503999772867, + "name": "GET Content (Enriched) 1: ID={ItemId}", + "description": "", + "collectionId": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "responses": [], + "folder": "d62660f2-a752-1266-fe77-bd787ecee0df", + "owner": "2445168", + "collection_id": "300e25bc-14f5-f3ad-8633-e995c2740b13", + "collection": "300e25bc-14f5-f3ad-8633-e995c2740b13" + } + ] + }, + { + "id": "5bcccf2d-530c-e25e-e638-9183e16154df", + "name": "Headline API Licence", + "description": "The Headline API License grants you:\n\n* The ability to search for FT articles based on specific fields, including body text, headline and section\n* The right to cache headlines for up to 30 days provided you check for deletions or changes\n* A default rate limit of 2 API calls per second and 5,000 API calls per day", + "order": [], + "folders": [ + { + "name": "Search", + "description": "", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "collection": "5bcccf2d-530c-e25e-e638-9183e16154df", + "order": [ + "ce692074-bd98-d3f3-9fc2-5da5e1fc2a07", + "4a2f31c7-302d-bcf7-309c-fdff9267e70e", + "5213e6ed-1546-f754-f403-07b214a92200", + "d3992966-329f-5d12-553c-37c735e3407f", + "fcadb318-2621-c96e-e9ec-1bff93c1985c", + "2a84fb55-69db-04c9-5551-5bcd6b7687c1", + "33ef34f5-c391-aad6-f253-2dc3dac6d24b" + ], + "owner": "2445168", + "folders_order": [], + "createdAt": 1503481222963, + "updatedAt": 1503481222963, + "id": "a24724da-eb84-8efb-c942-ad35f84f52d6", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df" + } + ], + "folders_order": [ + "a24724da-eb84-8efb-c942-ad35f84f52d6" + ], + "timestamp": 1503482788920, + "synced": true, + "remote_id": 0, + "owner": "2445168", + "sharedWithTeam": false, + "subscribed": false, + "remoteLink": "", + "remoteLinkUpdatedAt": null, + "public": false, + "createdAt": 1505314431646, + "updatedAt": 1505314431646, + "write": true, + "published": false, + "favorite": false, + "permissions": {}, + "syncedPermissions": {}, + "requests": [ + { + "id": "2a84fb55-69db-04c9-5551-5bcd6b7687c1", + "headers": "X-Api-Key: {{KEY}}\nContent-Type: application/json\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/search/v1", + "queryParams": [], + "pathVariables": {}, + "pathVariableData": [], + "preRequestScript": "", + "method": "POST", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "data": "{\r\n\t\"queryString\": \"Banks\" ,\r\n\t\"resultContext\" : {\r\n\t\t \"aspects\" :[ \"title\",\"lifecycle\",\"location\",\"summary\",\"editorial\" ],\r\n\t\t \"sortOrder\" : \"DESC\",\r\n\t\t \"sortField\" : \"initialPublishDateTime\"\r\n\r\n\t}\r\n}", + "dataMode": "raw", + "name": "POST Search 6: queryString={Banks}, sortOrder={Desc}", + "description": "Sort by date (most recent first)", + "descriptionFormat": "html", + "time": 1503567689256, + "version": 2, + "responses": [], + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "folder": "a24724da-eb84-8efb-c942-ad35f84f52d6", + "owner": "2445168", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df" + }, + { + "id": "33ef34f5-c391-aad6-f253-2dc3dac6d24b", + "headers": "X-Api-Key: {{KEY}}\nContent-Type: application/json\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/search/v1", + "queryParams": [], + "preRequestScript": "", + "pathVariables": {}, + "pathVariableData": [], + "method": "POST", + "data": "{\r\n\t\"queryString\": \"sections:\\\"Energy\\\"\",\r\n\t\"resultContext\" : {\r\n\t\t \"aspects\" :[ \"title\",\"lifecycle\",\"location\",\"summary\",\"editorial\" ]\r\n\t}\r\n}", + "dataMode": "raw", + "version": 2, + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1503568490377, + "name": "POST Search 7: queryString={Sections}", + "description": "Search and retrieve all content in the Energy section", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "responses": [], + "folder": "a24724da-eb84-8efb-c942-ad35f84f52d6", + "owner": "2445168", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df" + }, + { + "id": "4a2f31c7-302d-bcf7-309c-fdff9267e70e", + "headers": "X-Api-Key: {{KEY}}\nContent-Type: application/json\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/search/v1", + "queryParams": [], + "preRequestScript": "", + "pathVariables": {}, + "pathVariableData": [], + "method": "POST", + "data": "{\r\n\t\"queryString\": \"Trump AND title:\\\"Clinton\\\"\",\r\n\t\"queryContext\" : {\r\n\t\t \"curations\" : [ \"ARTICLES\"]\r\n\t}\r\n}", + "dataMode": "raw", + "version": 2, + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1503559998094, + "name": "POST Search 2: queryString={Trump AND Clinton}, curations={Articles}", + "description": "This will search for content that mentions Osborne in any of the searchable fields, but where the headline (title) contains 'Cameron'", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "responses": [], + "owner": "2445168", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df", + "folder": "a24724da-eb84-8efb-c942-ad35f84f52d6" + }, + { + "id": "5213e6ed-1546-f754-f403-07b214a92200", + "headers": "X-Api-Key: {{KEY}}\nContent-Type: application/json\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/search/v1", + "queryParams": [], + "preRequestScript": "", + "pathVariables": {}, + "pathVariableData": [], + "method": "POST", + "data": "{\r\n\t\"queryString\": \"British Telecom\",\r\n\t \"queryContext\" : {\r\n\t\t \"curations\" : [ \"ARTICLES\"]\r\n\t },\r\n\t \"resultContext\" : {\r\n\t\t \"maxResults\": 1,\r\n\t\t \"facets\" : {\"names\":[ \"organisations\"],\"maxElements\":20,\"minThreshold\":1}\r\n\t}\r\n}", + "dataMode": "raw", + "version": 2, + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1503564900823, + "name": "POST Search 3: queryString={British Telecom}, facets={Organisations}", + "description": "You need to know what tag is used for British Telecom as an organisation. One way to do this is to search for relevant content and ask the search to show details of the facets found in the results", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "responses": [], + "owner": "2445168", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df", + "folder": "a24724da-eb84-8efb-c942-ad35f84f52d6" + }, + { + "id": "ce692074-bd98-d3f3-9fc2-5da5e1fc2a07", + "headers": "X-Api-Key: {{KEY}}\nContent-Type: application/json\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/search/v1", + "queryParams": [], + "pathVariables": {}, + "pathVariableData": [], + "preRequestScript": "", + "method": "POST", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "data": "{\r\n\t\"queryString\": \"banks\",\r\n\t\"resultContext\" : {\r\n\t\t \"aspects\" :[ \"title\",\"lifecycle\",\"location\",\"summary\",\"editorial\" ]\r\n\t}\r\n}", + "dataMode": "raw", + "name": "POST Search 1: queryString={Banks}, sortOrder={Desc}", + "description": "Aspects are used to specify which fields you want to see in the results", + "descriptionFormat": "html", + "time": 1503496110265, + "version": 2, + "responses": [], + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "folder": "a24724da-eb84-8efb-c942-ad35f84f52d6", + "owner": "2445168", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df" + }, + { + "id": "d3992966-329f-5d12-553c-37c735e3407f", + "headers": "X-Api-Key: {{KEY}}\nContent-Type: application/json\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/search/v1", + "queryParams": [], + "preRequestScript": "", + "pathVariables": {}, + "pathVariableData": [], + "method": "POST", + "data": "{\r\n\t\"queryString\": \"Apple AND lastPublishDateTime:>2017-01-01T00:00:00Z\",\r\n\t\"queryContext\" : {\r\n\t\t \"curations\" : [ \"BLOGS\"]\r\n\t}\r\n}", + "dataMode": "raw", + "version": 2, + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1503567486616, + "name": "POST Search 4: queryString={Apple AND lastPublishDateTime}, curations={Blogs}", + "description": "Search for blogs that mention Apple and have been published this year", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "responses": [], + "owner": "2445168", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df", + "folder": "a24724da-eb84-8efb-c942-ad35f84f52d6" + }, + { + "id": "fcadb318-2621-c96e-e9ec-1bff93c1985c", + "headers": "X-Api-Key: {{KEY}}\nContent-Type: application/json\n", + "headerData": [ + { + "key": "X-Api-Key", + "value": "{{KEY}}", + "description": "", + "enabled": true + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "", + "enabled": true + } + ], + "url": "http://api.ft.com/content/search/v1", + "queryParams": [], + "preRequestScript": "", + "pathVariables": {}, + "pathVariableData": [], + "method": "POST", + "data": "{\r\n\t \"queryString\": \"byline:\\\"Martin Wolf\\\" AND lastPublishDateTime:>2017-01-01T00:00:00Z\",\r\n\t \"queryContext\": {\r\n\t\t\t\"curations\": [\r\n\t\t\t\t\"ARTICLES\"\r\n\t\t\t]\r\n\t\t},\r\n\t\t\"resultContext\" : {\r\n\t\t\t \"aspects\" :[ \"title\",\"lifecycle\",\"location\",\"summary\",\"editorial\" ]\r\n\r\n\t}\r\n}", + "dataMode": "raw", + "version": 2, + "tests": "", + "currentHelper": "normal", + "helperAttributes": {}, + "time": 1503568003846, + "name": "POST Search 5: queryString={Byline AND lastPublishDateTime}, curations={Articles}", + "description": "Search for byline Martin Wolf published since 2014", + "collectionId": "5bcccf2d-530c-e25e-e638-9183e16154df", + "responses": [], + "owner": "2445168", + "collection_id": "5bcccf2d-530c-e25e-e638-9183e16154df", + "folder": "a24724da-eb84-8efb-c942-ad35f84f52d6" + } + ] + } + ], + "environments": [], + "headerPresets": [ + { + "id": "4546157a-8e0c-d122-7a85-55cd37a35176", + "name": "Default", + "headers": [ + { + "key": "X-Api-Key ", + "value": "{{KEY}}", + "description": "", + "type": "text", + "enabled": true, + "disabled": false + }, + { + "key": "Content-Type", + "value": "text/html", + "description": "", + "type": "text", + "enabled": true, + "disabled": false + } + ], + "timestamp": 1502976853440 + } + ], + "globals": [] +}