Example #1
0
function executeValidation(params) {
    if (params /*&& params.wfs*/ && params.geom && params.typeName && params.bounds) {

	    var resp = null;
	    
        var requestParams = "?request=GetFeature&version=1.0.0&typeName=" + params.typeName + "&BBOX=" + 
            params.bounds + ",EPSG:4326&outputFormat=JSON";

		var exchange = httpclient.get(/*params.wfs*/ wfsAddress + requestParams);
        
	    var obj = JSON.parse(exchange.content);
	    if (obj.type != "FeatureCollection") {
	        throw new Error("Invalid GeoJSON type - " + obj.type);
	    }
	    
	    obj.features.forEach(function(f) {
	    	f.geometry = gs.geom.create(f.geometry);
	    });
	    
	    resp = response.json(vt.validateIntersect(params, obj.features));
	} else {
		print("Server Error: Invalid parameters");
		resp = {
	        status: 500,
	        headers: {"Content-Type": "text/plain",
	        	"Access-Control-Allow-Origin": "*",
	        	"Access-Control-Allow-Methods": "POST, GET",
	        	"Access-Control-Allow-Headers": "x-requested-with,Content-Type"},
	        body: ["Invalid parameters"]
	    };
	}

    resp.headers['Access-Control-Allow-Origin'] = '*';
    return resp;
}
Example #2
0
exports.testConvenience = function() {
    getResponse = function(req) {
        var params = {};
        var input = req.method == "POST" ? req.input.read() : req.queryString;
        parseParameters(input, params);
        if (params.foo) {
            return response.html(req.method + " with param");
        }
        return response.html(req.method);
    };
    var x = post(baseUri);
    assert.strictEqual(x.status, 200);
    assert.strictEqual(x.content, "POST");

    x = post(baseUri, {foo: 'bar'});
    assert.strictEqual(x.status, 200);
    assert.strictEqual(x.content, "POST with param");

    x = get(baseUri, {foo: 'bar'});
    assert.strictEqual(x.status, 200);
    assert.strictEqual(x.content, "GET with param");

    x = del(baseUri);
    assert.strictEqual(x.status, 200);
    assert.strictEqual(x.content, "DELETE");

    x = put(baseUri);
    assert.strictEqual(x.status, 200);
    assert.strictEqual(x.content, "PUT");
};
Example #3
0
exports.testConvenience = function() {
    getResponse = function(req) {
        if (req.params.foo) {
            return new Response (req.method + ' with param');
        }
        return new Response(req.method);
    };
    var myStatus, myData;
    var callback = function(data, status) {
        myData = data;
        myStatus = status;
    };
    post(baseUri, callback);
    assert.strictEqual(200, myStatus);
    assert.strictEqual('POST', myData);

    post(baseUri, {foo: 'bar'}, callback);
    assert.strictEqual(200, myStatus);
    assert.strictEqual('POST with param', myData);

    get(baseUri, {foo: 'bar'}, callback);
    assert.strictEqual(200, myStatus);
    assert.strictEqual('GET with param', myData);

    del(baseUri, callback);
    assert.strictEqual(200, myStatus);
    assert.strictEqual('DELETE', myData);

    put(baseUri, callback);
    assert.strictEqual(200, myStatus);
    assert.strictEqual('PUT', myData);
};
Example #4
0
exports.testConvenience = function() {
    getResponse = function(req) {
        var params = {};
        var input = req.method == "POST" ? req.input.read() : req.queryString;
        parseParameters(input, params);
        if (params.foo) {
            return html(req.method + ' with param');
        }
        return html(req.method);
    };
    var x = post(baseUri);
    assert.strictEqual(200, x.status);
    assert.strictEqual('POST', x.content);

    x = post(baseUri, {foo: 'bar'});
    assert.strictEqual(200, x.status);
    assert.strictEqual('POST with param', x.content);

    x = get(baseUri, {foo: 'bar'});
    assert.strictEqual(200, x.status);
    assert.strictEqual('GET with param', x.content);

    x = del(baseUri);
    assert.strictEqual(200, x.status);
    assert.strictEqual('DELETE', x.content);

    x = put(baseUri);
    assert.strictEqual(200, x.status);
    assert.strictEqual('PUT', x.content);
};
Example #5
0
File: all.js Project: hns/ringolog
exports.testAuth = function () {
    http.get(LOGIN_URL, function (data, status) {
        assertMatch(data, /Unauthorized/);
        assertEqual(401, status);
    });
    http.request({
        url: LOGIN_URL,
        username: '******',
        password: '******',
        success: function (data, status) {
            assertMatch(data, /See other/);
            assertEqual(303, status); // If authorized successfully, redirect.
        },
        error: function (data) {
            assertTrue(false);
        }
    });
};
// ------------------------------------------------------------------
function neo4j_get_record_proc (dict_aa,nn)
{
	var client= require ("ringo/httpclient");
	var url='http://localhost:7474/db/data/node/' + nn + '/properties';
	var data=client.get (url);

//	print (data.content);

	var dd_aa = JSON.parse (data.content);

	if ("id" in dd_aa)
		{
		dict_aa = text_manipulate.dict_append_proc
			(dict_aa,dd_aa.id,dd_aa.name,dd_aa.population,dd_aa.date_mod);
		}

	return dict_aa;
}
Example #7
0
function executeWps(params) {
	if (params && params.x && params.y && params.radius /*&& params.wfs*/ && params.typeName) {

	    var resp = null;
		
		var bbox = makeBBox(params.x, params.y, params.radius);

		var requestParams = "?request=GetFeature&version=1.0.0&typeName=" + params.typeName + "&BBOX=" +
			bbox.lowerleft.x + "," + bbox.lowerleft.y + "," + bbox.upperright.x + "," + bbox.upperright.y + ",EPSG:900913&outputFormat=JSON";

		var exchange = httpclient.get(/*params.wfs*/ wfsAddress + requestParams);

	    var obj = JSON.parse(exchange.content);
	    if (obj.type != "FeatureCollection") {
	        throw new Error("Invalid GeoJSON type - " + obj.type);
	    }
	    
	    obj.features.forEach(function(f) {
	    	f.geometry = gs.geom.create(f.geometry);
	    });
	    
	    resp = response.json(db.distanceBearing(params, obj.features));
	} else {
		print("Server Error: Invalid parameters");
		resp = {
	        status: 500,
	        headers: {"Content-Type": "text/plain",
	        	"Access-Control-Allow-Origin": "*",
	        	"Access-Control-Allow-Methods": "POST, GET",
	        	"Access-Control-Allow-Headers": "x-requested-with,Content-Type"},
	        body: ["Invalid parameters"]
	    };
	}

    resp.headers['Access-Control-Allow-Origin'] = '*';
    return resp;
} 
//
// ------------------------------------------------------------------
var text_manipulate = require ('/var/www/data_base/common/ringo_common/text_manipulate.js');
var xml_manipulate = require ('/var/www/data_base/common/ringo_common/xml_manipulate.js');
// ------------------------------------------------------------------
print	("*** 開始 ***");
var args = require('system').args;
var id_in = args[1];
print	(id_in);

var client= require ("ringo/httpclient");

var url='http://localhost:8086/exist/rest/db/cities/cities.xml';

print	("*** ppp ***");
var data=client.get (url);
print	("*** qqq ***");

print (data.status);
// print (data.content);

var dict_aa = xml_manipulate.xml_to_dict_proc (data.content);

delete dict_aa[id_in];

text_manipulate.dict_display_proc (dict_aa);

var out_str = xml_manipulate.dict_to_xml_proc (dict_aa);

// print (out_str);
Example #9
0
var testUrl = function(urlinfo) {
    var url = urlinfo.url;
    var component = urlinfo.component;
    var expects = urlinfo.expects;

    if (components != null) {
        if (components.indexOf(component) == -1) {
            console.log("Skipping test on: "+url);
            return;
        }
    }

    url = modifyUrlForComponent(url, component);

    console.log("Testing URL: "+url);
    print(JSON.stringify(urlinfo, ' ', null));
    var date = new Date();
    var t1 = date.getTime();
    var x = httpclient.get(url);
    date = new Date();
    var t2 = date.getTime();
    var td = t2-t1;
    console.log("TIME\t"+component+"\t"+url+"\t"+td);
    console.log("Status: " + x.status);
    if (urlinfo.maxTimeMilliseconds != null) {
        if (td > urlinfo.maxTimeMilliseconds) {
            console.warn("TIME_EXCEEDS_EXPECTED: Call to "+url+" takes too long: "+td+" ms");
            //assert.fail("Call to "+url+" takes too long: "+td+" ms");
        }
    }
    if (expects.status != null) {
        assert.equal(expects.status, x.status);
    }
    if (expects.status == null && x.status == 500) {
        console.warn("Received a 500");
        console.warn("DEBUG:"+x.content);
        assert.notEqual(x.status, 500);
        // no point testing further
        return;
    }

    var resultObj = null;
    if (expects.format != null) {
        var rawContent = x.content;

        if (expects.raw_contains != null) {
            var strings = listify(expects.raw_contains);
            strings.forEach(function(s) {
                console.log("Checking for presence of string: "+s);
                //assert.isTrue(rawContent.indexOf(s) > -1);
                assert.stringContains(rawContent, s);
            });
        }

        if (expects.raw_not_contains != null) {
            var strings = expects.raw_not_contains.push == null ? [expects.raw_not_contains] : expects.raw_not_contains; // listify
            strings.forEach(function(s) {
                console.log("Checking for presence of string: "+s);
                //assert.isTrue(rawContent.indexOf(s) > -1);
                assert.stringContains(rawContent, s);
            });
        }
        
        if (expects.format == 'json') {
            resultObj = JSON.parse(rawContent);
        }
        else if (expects.format == 'xml') {
            resultObj =  new XML(rawContent.replace("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>",""));
        }
        else if (expects.format == 'html') {
            console.warn("ignoring html");
        }
        else {
            console.warn("TODO: "+expects.format);
        }
    }

    if (resultObj != null) {
        var results = null;
        if (component == 'vocabulary') {
            results = resultObj;
        }
        else if (component == 'federation') {
            results = resultObj.result.result; // yes this looks odd, but this is how fed returns data
        }
        else if (component == 'ontoquest') {
            // TODO - OQ XML layered on JSON is complex - best just do raw checks for now
            results = resultObj.data;
        }
        else if (component == 'monarch') {
            var subcomponent = urlinfo.subcomponent;
            if (subcomponent == 'simsearch') {
                results = [resultObj];
            }
            else {
                results = [resultObj];
                //console.warn("Not implemented: "+ subcomponent);
            }
        }
        else {
            console.warn("??"+component);
            results = resultObj;
        }
        console.log("# results: "+results.length);
        testResults(urlinfo, results);
    }
}