function testModule() { var ctx = context.new(); var resourceId = "my-first-res"; var attributes = [ { name: "my_text", type: share.TYPE_TEXT, value: "my_text" }, { name: "my_number", type: share.TYPE_NUMBER, value: 5 }, { name: "my_path", type: share.TYPE_PATH, value: "/my/path" }, { name: "my_bool", type: share.TYPE_BOOL, value: true }, ] // Create resource with attributes var resource = share.upsertResource( ctx, resourceId, attributes[0], attributes[1], attributes[2], attributes[3] ); if (resource.id != resourceId) { throw new Error("resource.id: expected '"+resourceId+"', got '"+resource.id+"'") } if (resource.origin != "test.app.edge") { throw new Error("resource.origin: expected 'test.app.edge', got '"+resource.origin+"'") } if (resource.attributes.length != 4) { throw new Error("resource.attributes.length: expected '1', got '"+resource.attributes.length+"'") } for(var attr, i = 0;( attr = attributes[i] ); i++) { var exists = resource.has(attr.name, attr.type); if (!exists) { throw new Error("resource.has('"+attr.name+"'): expected 'true', got '"+hasAttr+"'") } var value = resource.get(attr.name, attr.type); if (value != attr.value) { throw new Error("value: expected '"+attr.value+"', got '"+value+"'") } } // Test acces of unexistant attribute var unexistantAttr = "unexistant_attr" var exists = resource.has(unexistantAttr, share.TYPE_TEXT); if (exists) { throw new Error("attr '"+unexistantAttr+"' should not exist") } var expected = "foo" var value = resource.get(unexistantAttr, share.TYPE_TEXT, expected); if (value != expected) { throw new Error("resource.get('"+attr.name+"', share.TYPE_TEXT, '"+expected+"'): expected '"+expected+"', got '"+value+"'") } // Search resources // With any attribute var results = share.findResources(ctx, share.ANY_NAME, share.ANY_TYPE); if (results.length != 1) { throw new Error("results.length: expected '1', got '"+results.length+"'") } // With an unexistant attribute var results = share.findResources(ctx, unexistantAttr, share.ANY_TYPE); if (results.length != 0) { throw new Error("results.length: expected '0', got '"+results.length+"'") } // With a wrong type var results = share.findResources(ctx, "my_text", share.TYPE_NUMBER); if (results.length != 0) { throw new Error("results.length: expected '0', got '"+results.length+"'") } }