http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-read-functional-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-read-functional-tests.js 
b/JSLib/tests/odata-read-functional-tests.js
deleted file mode 100644
index 8a58b15..0000000
--- a/JSLib/tests/odata-read-functional-tests.js
+++ /dev/null
@@ -1,583 +0,0 @@
-/// <reference path="common/djstest.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="common/ODataReadOracle.js" />
-
-(function (window, undefined) {
-    OData.defaultHandler.accept = "application/json;q=0.9, 
application/atomsvc+xml;q=0.8, */*;q=0.1";
-    var unexpectedErrorHandler = function (err) {
-        djstest.assert(false, "Unexpected call to error handler with error: " 
+ djstest.toString(err));
-        djstest.done();
-    };
-
-    // to do: enable the Atom/XML senario
-    var validServiceDocumentAcceptHeaders = [
-            "*/*",
-    //"application/xml",
-            "application/json",
-            undefined
-          ];
-
-    var validMetadataAcceptHeaders = [
-            "*/*",
-            "application/xml",
-            undefined
-          ];
-
-    var invalidServiceDocumentAcceptHeaders = [
-        "application/atom+xml"
-    ];
-
-    var invalidMetadataAcceptHeaders = [
-            "application/atom+xml",
-            "application/json"
-        ];
-
-    var handlerAcceptStrings = [
-        "*/*",
-    //      "application/atom+xml",
-        "application/json",
-         undefined
-      ];
-
-    var httpStatusCode = {
-        notFound: 404,
-        badRequest: 400,
-        unsupportedMediaType: 415
-    };
-
-    var service = "./endpoints/FoodStoreDataServiceV4.svc/";
-    var epmService = "./endpoints/EpmDataService.svc/";
-    var feed = service + "Foods";
-    var categoriesFeed = service + "Categories";
-
-    var expectedErrorMessage = "HTTP request failed";
-
-    module("Functional", {
-        setup: function () {
-            djstest.wait(function (done) {
-                $.post(service + "ResetData", done);
-            });
-            OData.jsonHandler.recognizeDates = false;
-        }
-    });
-
-    for (var i = 0; i < handlerAcceptStrings.length; i++) {
-
-        djstest.addTest(function readFullFeedTest(handlerAccept) {
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: feed, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readFeed(feed,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                );
-        }, "Testing valid read of full feed collection with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readMaxAndNullValueEntryTest(handlerAccept) {
-            var endPoint = feed + "(0)";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endPoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                );
-        }, "Testing valid read of entry with max numbers, complex types, and 
null and empty strings " + handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readMinAndZeroValueEntryTest(handlerAccept) {
-            var endPoint = feed + "(1)";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: 
"./endpoints/FoodStoreDataServiceV4.svc/Foods(1)", headers: { Accept: 
handlerAccept} },
-                function (data, response) {
-                    window.ODataReadOracle.readEntry(endPoint,
-                        function (expectedData) {
-                            djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                            djstest.done();
-                        }, handlerAccept
-                    );
-                },
-                unexpectedErrorHandler);
-        }, "Testing valid read of minimum and zero values " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readNullNestedComplexTypeEntryTest(handlerAccept) {
-            var endPoint = feed + "(2)";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endPoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                 );
-        }, "Testing valid read of null nested complex type and navigation 
property " + handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readNullComplexTypeEntryTest(handlerAccept) {
-            var endPoint = feed + "(3)";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endPoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                 );
-        }, "Testing valid read of null top level complex type" + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readNullPropertiesDerivedEntryTest(handlerAccept) {
-            djstest.assertsExpected(1);
-            var endPoint = feed + "(4)";
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endPoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                );
-        }, "Testing valid read of derived type null properties with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readNextComplexTypeDerivedEntryTest(handlerAccept) {
-
-            djstest.assertsExpected(1);
-            var endPoint = feed + "(5)";
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endPoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                 );
-        }, "Testing valid read of derived type with full nested complex type 
properties with " + handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readEntryWithInlineFeedTest(handlerAccept) {
-            var endpoint = categoriesFeed + "(0)?$expand=Foods";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data.value, 
expectedData.value, "Verify inline feed");
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify entry");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                );
-        }, "Testing read of entry with inline feed with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readFeedWithEmptyInlineFeedTest(handlerAccept) {
-            var endpoint = categoriesFeed + "?$filter=Name eq 'Empty 
Category'&$expand=Foods";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readFeed(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data.value, 
expectedData.value, "Verify inline feed");
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify feed");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-               );
-        }, "Testing read of entry with empty inline feed with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readEntryWithInlineEntryTest(handlerAccept) {
-            var endpoint = feed + "(0)?$expand=Category";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data.Category, 
expectedData.Category, "Verify inline entry");
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify entry");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-               );
-        }, "Testing read of entry with inline entry with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readFeedWithNullInlineEntryTest(handlerAccept) {
-            var endpoint = feed + "?$expand=Category&$filter=Category eq null";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readFeed(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data.value, 
expectedData.value, "Verify inline data");
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify feed");
-                                djstest.done();
-                            }, handlerAccept);
-                    },
-                    unexpectedErrorHandler
-               );
-        }, "Testing read of feed with null inline entry with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readFeedWithInlineCountTest(handlerAccept) {
-            var endpoint = feed + "?$count=true";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readFeed(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqual(data["@odata.count"], 
expectedData["@odata.count"], "Verify count in response data");
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify feed");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    },
-                    unexpectedErrorHandler
-                );
-        }, "Testing read of collection with inline count with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
selectSinglePropertyOnEntryTest(handlerAccept) {
-            var endpoint = feed + "(0)?$select=Name";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                function (data, response) {
-                    window.ODataReadOracle.readEntry(endpoint,
-                        function (expectedData) {
-                            djstest.assertAreEqualDeep(data, expectedData, 
"Verify select result");
-                            djstest.done();
-                        }, handlerAccept
-                    );
-                },
-                unexpectedErrorHandler);
-        }, "Select single property of entry " + handlerAcceptStrings[i], 
handlerAcceptStrings[i]);
-
-        djstest.addTest(function selectComplexTypeOnFeedTest(handlerAccept) {
-            var endpoint = feed + "?$select=Packaging";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                function (data, response) {
-                    window.ODataReadOracle.readFeed(endpoint,
-                        function (expectedData) {
-                            djstest.assertAreEqualDeep(data, expectedData, 
"Verify select result");
-                            djstest.done();
-                        }, handlerAccept
-                    );
-                },
-                unexpectedErrorHandler);
-        }, "Select single complex type property of feed " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
selectMultiplePropertiesOnEntryTest(handlerAccept) {
-            var endpoint = feed + 
"(3)?$select=Packaging,ExpirationDate,IsAvailable";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                function (data, response) {
-                    window.ODataReadOracle.readEntry(endpoint,
-                        function (expectedData) {
-                            djstest.assertAreEqualDeep(data, expectedData, 
"Verify select result");
-                            djstest.done();
-                        }, handlerAccept
-                    );
-                },
-                unexpectedErrorHandler);
-        }, "Select multiple primitive properties of feed " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readPagedCategoriesCollectionTest(handlerAccept) {
-            var endpoint = categoriesFeed;
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readFeed(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify response data");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    }, unexpectedErrorHandler);
-        }, "Testing read of paged collection with " + handlerAcceptStrings[i], 
handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readPagedCollectionWithInlineCountTest(handlerAccept) {
-            var endpoint = categoriesFeed + "?$count=true";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readFeed(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqual(data["@odata.context"], 
expectedData["@odata.context"], "Verify count in response data");
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify feed");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    }, unexpectedErrorHandler);
-        }, "Testing read of paged collection with inline count with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readEntryWithNamedStreams(handlerAccept) {
-            var endpoint = feed + "(1)?$expand=Category";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify entry");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    }, unexpectedErrorHandler);
-        }, "Testing read of entry with named streams " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function 
readEntryWithCollectionProperties(handlerAccept) {
-            var endpoint = feed + "(0)";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        window.ODataReadOracle.readEntry(endpoint,
-                            function (expectedData) {
-                                djstest.assertAreEqualDeep(data, expectedData, 
"Verify entry");
-                                djstest.done();
-                            }, handlerAccept
-                        );
-                    }, unexpectedErrorHandler);
-        }, "Testing read of entry with collection properties " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function invalidEntryReadTest(handlerAccept) {
-            var endPoint = feed + "(16)";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        djstest.assert(false, "We should not get here because 
data is not valid.");
-                        djstest.done()
-                    },
-                    function (err) {
-                        djstest.assertAreEqual(err.message, 
expectedErrorMessage, "Error message");
-                        djstest.assertAreEqual(err.response.statusCode, 
httpStatusCode.notFound, "Response status code");
-                        djstest.done();
-                    });
-        }, "Testing invalid entry read with " + handlerAcceptStrings[i], 
handlerAcceptStrings[i]);
-
-        djstest.addTest(function invalidFeedReadTest(handlerAccept) {
-            var endPoint = feed + "Invalid";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                    function (data, response) {
-                        djstest.assert(false, "We should not get here because 
data is not valid.");
-                        djstest.done();
-                    },
-                    function (err) {
-                        djstest.assertAreEqual(err.message, 
expectedErrorMessage, "Error message");
-                        djstest.assertAreEqual(err.response.statusCode, 
httpStatusCode.notFound, "Response status code");
-                        djstest.done();
-                    });
-        }, "Testing invalid feed read with " + handlerAcceptStrings[i], 
handlerAcceptStrings[i]);
-
-        djstest.addTest(function standardErrorReadTest(handlerAccept) {
-            var endPoint = feed + "?$foo=bar";
-            djstest.assertsExpected(2);
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} },
-                                    function (data, response) {
-                                        djstest.assert(false, "We should not 
get here because data is not valid.");
-                                        djstest.done()
-                                    },
-                                    function (err) {
-                                        djstest.assertAreEqual(err.message, 
expectedErrorMessage, "Error message");
-                                        
djstest.assertAreEqual(err.response.statusCode, httpStatusCode.badRequest, 
"Response status code");
-                                        djstest.done();
-                                    });
-        }, "Testing standard error read with " + handlerAcceptStrings[i], 
handlerAcceptStrings[i]);
-
-        djstest.addTest(function inStreamErrorReadTest(handlerAccept) {
-            var endPoint = "./endpoints/ErrorDataService.svc/Entities";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
handlerAccept} }, function (data, response) {
-                djstest.assert(false, "Unexpected call to success handler with 
response: " + djstest.toString(response));
-                djstest.done()
-            }, function (err) {
-                djstest.assert(err.response.body.indexOf("An error occurred 
while processing this request") > -1, "Error handler was called with the 
correct response body");
-                djstest.done();
-            });
-        }, "Testing in-stream error read with " + handlerAcceptStrings[i], 
handlerAcceptStrings[i]);
-
-        var user = "djsUser";
-        var password = "djsPassword";
-
-        djstest.addTest(function readFullFeedBasicAuthTest(handlerAccept) {
-            var endpoint = "./endpoints/BasicAuthDataService.svc/Customers";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept }, user: user, password: password }, function (data, response) {
-                window.ODataReadOracle.readFeed({ url: endpoint, user: user, 
password: password }, function (expectedData) {
-                    djstest.assertAreEqualDeep(data, expectedData, "Response 
data not same as expected");
-                    djstest.done();
-                }, handlerAccept);
-            }, unexpectedErrorHandler);
-        }, "Testing valid read of full feed collection on basic auth with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-
-        djstest.addTest(function readEntryBasicAuthTest(handlerAccept) {
-            var endpoint = "./endpoints/BasicAuthDataService.svc/Customers(1)";
-            djstest.assertsExpected(1);
-            odatajs.oData.read({ requestUri: endpoint, headers: { Accept: 
handlerAccept }, user: user, password: password }, function (data, response) {
-                window.ODataReadOracle.readEntry({ url: endpoint, user: user, 
password: password }, function (expectedData) {
-                    djstest.assertAreEqualDeep(data, expectedData, "Response 
data not same as expected");
-                    djstest.done();
-                }, handlerAccept);
-            }, unexpectedErrorHandler);
-        }, "Testing valid read of entry on basic auth with " + 
handlerAcceptStrings[i], handlerAcceptStrings[i]);
-    }
-
-    var services = [
-            service,
-            epmService
-        ];
-
-    $.each(services, function (_, serviceName) {
-        $.each(validServiceDocumentAcceptHeaders, function (_, 
validServiceDocumentAcceptHeader) {
-            var parameters = { handlerAccept: 
validServiceDocumentAcceptHeader, serviceName: serviceName };
-
-            djstest.addTest(function validReadServiceDocumentTest(params) {
-                djstest.assertsExpected(1);
-                odatajs.oData.read({ requestUri: params.serviceName, headers: 
{ Accept: params.handlerAccept} },
-                        function (data, response) {
-                            
window.ODataReadOracle.readServiceDocument(serviceName,
-                                function (expectedData) {
-                                    djstest.assertAreEqualDeep(data, 
expectedData, "Response data not same as expected");
-                                    djstest.done();
-                                }, params.handlerAccept
-                            );
-                        },
-                        unexpectedErrorHandler
-                    );
-            }, "Testing valid read of service document " + 
parameters.handlerAccept + " on service " + parameters.serviceName, parameters);
-        });
-
-        $.each(invalidServiceDocumentAcceptHeaders, function (_, 
invalidServiceDocumentAcceptHeader) {
-            var parameters = { handlerAccept: 
invalidServiceDocumentAcceptHeader, serviceName: serviceName };
-
-            djstest.addTest(function invalidReadServiceDocumentTest(params) {
-                djstest.assertsExpected(2);
-                odatajs.oData.read({ requestUri: params.serviceName, headers: 
{ Accept: params.handlerAccept} },
-                        function success(data, response) {
-                            djstest.fail("Reading service document should 
produce error with " + params.handlerAccept);
-                            djstest.done();
-                        },
-                        function (err) {
-                            djstest.assertAreEqual(err.message, 
expectedErrorMessage, "Error message");
-                            djstest.assertAreEqual(err.response.statusCode, 
httpStatusCode.unsupportedMediaType, "Response status code");
-                            djstest.done();
-                        }
-                    );
-            }, "Testing read of service document with invalid MIME type " + 
parameters.invalidServiceDocumentAcceptHeader + " on service " + serviceName, 
parameters);
-        });
-
-        //to do:
-        $.each(validMetadataAcceptHeaders, function (_, 
validMetadataAcceptHeader) {
-            var parameters = { handlerAccept: validMetadataAcceptHeader, 
serviceName: serviceName };
-
-            djstest.addTest(function validReadMetadataTest(params) {
-                djstest.assertsExpected(1);
-                var endPoint = params.serviceName + "$metadata";
-                odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
params.handlerAccept} },
-                        function (data, response) {
-                            window.ODataReadOracle.readMetadata(endPoint,
-                                function (expectedData) {
-                                    djstest.assertAreEqualDeep(data, 
expectedData, "Response data not same as expected");
-                                    djstest.done();
-                                }
-                            );
-                        },
-                        unexpectedErrorHandler,
-                        OData.metadataHandler
-                    );
-            }, "Testing valid read metadata " + parameters.handlerAccept + " 
on service " + parameters.serviceName, parameters);
-        });
-
-        $.each(invalidMetadataAcceptHeaders, function (_, 
invalidMetadataAcceptHeader) {
-            var parameters = { handlerAccept: invalidMetadataAcceptHeader, 
serviceName: serviceName };
-            djstest.addTest(function invlaidReadMetadataTest(params) {
-                djstest.assertsExpected(2);
-                var endPoint = params.serviceName + "$metadata";
-                odatajs.oData.read({ requestUri: endPoint, headers: { Accept: 
params.handlerAccept} },
-                        function success(data, response) {
-                            djstest.fail("Reading metadata should produce 
error with " + params.handlerAccept);
-                            djstest.done();
-                        },
-                        function (err) {
-                            djstest.assertAreEqual(err.message, 
expectedErrorMessage, "Error message");
-                            djstest.assertAreEqual(err.response.statusCode, 
httpStatusCode.unsupportedMediaType, "Response status code");
-                            djstest.done();
-                        },
-                        OData.metadataHandler
-                    );
-            }, "Testing read metadata with invalid MIME type " + 
parameters.handlerAccept + " on service " + parameters.serviceName, parameters);
-        });
-    });
-
-    // To do: update the test data for enabling the annotation test
-    djstest.addFullTest(true, function metadataElementExtensionsTest() {
-        var csdlFile = "./endpoints/CustomAnnotations.xml";
-        var modifyTypeHttpClient = {};
-        var originalHttpClient = OData.defaultHttpClient;
-
-        // Modify the content-type of the response so that it is accepted by 
the metadataHandler.
-        // By default, the content-type of CustomAnnotations.xml comes back as 
text/xml
-        modifyTypeHttpClient.request = function (request, success, error) {
-            return originalHttpClient.request(request, function (response) {
-                response.headers["Content-Type"] = "application/xml";
-                success(response);
-            }, error);
-        }
-
-        OData.defaultHttpClient = modifyTypeHttpClient;
-
-        odatajs.oData.read({ requestUri: csdlFile, headers: { Accept: 
"text/xml"} },
-            function (data) {
-                window.ODataReadOracle.readMetadata(csdlFile,
-                    function (expectedData) {
-                        djstest.assertAreEqualDeep(data, expectedData, 
"Response data not same as expected");
-                        djstest.done();
-                    }
-                )
-            },
-            unexpectedErrorHandler, OData.metadataHandler
-         );
-    });
-
-    djstest.addTest(function verifyNonDefaultReadMethodCalled() {
-        var endPoint = feed + "(0)";
-        djstest.assertsExpected(2);
-        odatajs.oData.read(
-                { requestUri: endPoint },
-                function success(data, response) {
-                    djstest.assert(true, "Test executed");
-                    djstest.done();
-                },
-                null,
-                {
-                    read: function (response) {
-                        djstest.assert(true, "Non-default read reached");
-                        djstest.done();
-                    },
-                    accept: "*/*"
-                }
-            );
-    }, "Testing nondefault read is called.");
-
-})(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-request-functional-tests.html
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-request-functional-tests.html 
b/JSLib/tests/odata-request-functional-tests.html
deleted file mode 100644
index 4298493..0000000
--- a/JSLib/tests/odata-request-functional-tests.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<head>
-    <title>odata.request tests</title>
-    <meta http-equiv="cache-control" content="no-cache" />
-    <meta http-equiv="pragma" content="no-cache" />
-    <meta http-equiv="expires" content="-1" />
-    <link rel="stylesheet" 
href="http://code.jquery.com/qunit/qunit-1.10.0.css"; type="text/css" />
-    <script type="text/javascript" 
src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/jquery-1.4.4.min.js";></script>
-    <script type="text/javascript" 
src="http://code.jquery.com/qunit/qunit-1.10.0.js";></script>
-    <script type="text/javascript" src="common/ODataReadOracle.js"></script>
-    <script type="text/javascript" 
src="common/TestSynchronizerClient.js"></script>
-    <script type="text/javascript">
-        window.TestSynchronizer.init(QUnit);
-    </script>
-    
-    <script type="text/javascript" src="../src/datajs.js"></script>
-    <script type="text/javascript" src="../src/utils.js"></script>
-    <script type="text/javascript" src="../src/xml.js"></script>
-
-    <script type="text/javascript" src="../src/odata-utils.js"></script>
-    <script type="text/javascript" src="../src/odata-handler.js"></script>
-    <script type="text/javascript" src="../src/odata-gml.js"></script>
-    <script type="text/javascript" src="../src/odata-xml.js"></script>
-    <script type="text/javascript" src="../src/odata-net.js"></script>
-    <script type="text/javascript" src="../src/odata-json-light.js"></script>
-    <script type="text/javascript" src="../src/odata-json.js"></script>
-    <script type="text/javascript" src="../src/odata-atom.js"></script>
-    <script type="text/javascript" src="../src/odata-metadata.js"></script>
-    <script type="text/javascript" src="../src/odata-batch.js"></script>
-    <script type="text/javascript" src="../src/odata.js"></script>
-
-    <script type="text/javascript" src="common/djstest.js"></script>
-
-    <script type="text/javascript" 
src="odata-request-functional-tests.js"></script>
-</head>
-<body>
-    <h1 id="qunit-header">odata.request tests</h1>
-    <h2 id="qunit-banner"></h2>
-    <h2 id="qunit-userAgent"></h2>
-    <ol id="qunit-tests"></ol>
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-request-functional-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-request-functional-tests.js 
b/JSLib/tests/odata-request-functional-tests.js
deleted file mode 100644
index b6644af..0000000
--- a/JSLib/tests/odata-request-functional-tests.js
+++ /dev/null
@@ -1,386 +0,0 @@
-/// <reference path="common/djstest.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="common/ODataReadOracle.js" />
-
-(function (window, undefined) {
-    OData.defaultHandler.accept = "application/json;q=0.9, 
application/atomsvc+xml;q=0.8, */*;q=0.1";
-    var unexpectedErrorHandler = function (err) {
-        djstest.assert(false, "Unexpected call to error handler with error: " 
+ djstest.toString(err));
-        djstest.done();
-    };
-
-    var verifyRequest = function (request, done) {
-        if (request.method == "POST") {
-            verifyPost(request, done);
-        }
-        else if (request.method == "PUT") {
-            verifyPut(request, done);
-        }
-        else if (request.method == "PATCH") {
-            verifyPatch(request, done);
-        }
-    };
-
-    var tryRemoveOdataType = function (data) {
-        if (data && data["@odata.type"]) {
-            delete data["@odata.type"];
-        }
-
-        return data;
-    };
-
-    var verifyPost = function (request, done) {
-        var httpOperation = request.method + " " + request.requestUri;
-        djstest.log(httpOperation);
-        odatajs.oData.request(request, function (data, response) {
-            djstest.log("Status code:" + response.statusCode);
-            djstest.assertAreEqual(response.statusCode, 
httpStatusCode.created, "Verify response code: " + httpOperation);
-            djstest.log("Uri:" + request.requestUri);
-            ODataReadOracle.readEntry(response.headers["Location"], function 
(expectedData) {
-                djstest.assertAreEqualDeep(response.data, expectedData, 
"Verify new entry against response: " + httpOperation);
-                done();
-            }, request.headers.Accept);
-        }, unexpectedErrorHandler);
-    };
-
-    var verifyPut = function(request, done) {
-        var httpOperation = request.method + " " + request.requestUri;
-        djstest.log(httpOperation);
-        odatajs.oData.request(request, function(data, response) {
-            djstest.log("Status code:" + response.statusCode);
-            djstest.assertAreEqual(response.statusCode, 
httpStatusCode.noContent, "Verify response code: " + httpOperation);
-            djstest.log("Uri:" + request.requestUri);
-            ODataReadOracle.readEntry(request.requestUri, function(actualData) 
{
-                var requestData = tryRemoveOdataType(request.data);
-                djstest.assertAreEqualDeep(subset(actualData, requestData), 
requestData, "Verify updated entry: " + httpOperation);
-                done();
-            }, request.headers.Accept);
-        }, unexpectedErrorHandler);
-    };
-
-    var verifyPatch = function (request, done) {
-        var httpOperation = request.method + " " + request.requestUri;
-        djstest.log(httpOperation);
-        ODataReadOracle.readEntry(request.requestUri, function (originalData) {
-            odatajs.oData.request(request, function (data, response) {
-                djstest.log("Status code:" + response.statusCode);
-                djstest.assertAreEqual(response.statusCode, 
httpStatusCode.noContent, "Verify response code");
-                djstest.log("Uri:" + request.requestUri);
-                ODataReadOracle.readEntry(request.requestUri, function 
(actualData) {
-
-                    // Merge the original data with the updated data to get 
the expected data
-                    var expectedData = $.extend(true, {}, originalData, 
request.data);
-                    djstest.assertAreEqualDeep(actualData, 
tryRemoveOdataType(expectedData), "Verify merged data");
-                    done();
-                }, request.headers["Content-Type"]);
-            }, unexpectedErrorHandler);
-        }, request.headers["Content-Type"]);
-    };
-
-    // Returns a subset of object with the same set of properties (recursive) 
as the subsetObject
-    var subset = function (object, subsetObject) {
-        if (typeof (object) == "object" && typeof (subsetObject) == "object") {
-            var result = {};
-            for (subsetProp in subsetObject) {
-                result[subsetProp] = subset(object[subsetProp], 
subsetObject[subsetProp]);
-            }
-            return result;
-        }
-        else {
-            return object;
-        }
-    };
-
-    var foodData = {
-        "@odata.type": "#DataJS.Tests.V4.Food",
-        FoodID: 42,
-        Name: "olive oil",
-        UnitPrice: 3.14,
-        ServingSize: 1,
-        MeasurementUnit: "",
-        ProteinGrams: 5,
-        FatGrams: 9,
-        CarbohydrateGrams: 2,
-        CaloriesPerServing: 6,
-        IsAvailable: true,
-        ExpirationDate: "2010-12-25T12:00:00Z",
-        ItemGUID: "27272727-2727-2727-2727-272727272727",
-        Weight: 10,
-        AvailableUnits: 1,
-        Packaging: {
-            Type: "Can",
-            Color: null,
-            NumberPerPackage: 1,
-            RequiresRefridgeration: false,
-            PackageDimensions: {
-                Length: 4,
-                Height: 3,
-                Width: 2,
-                Volume: 1
-            },
-            ShipDate: "2010-12-25T12:00:00Z"
-        }
-    };
-
-    var testServices = {
-        V4: "./endpoints/FoodStoreDataServiceV4.svc"
-    };
-
-    var testData = {
-        V4: $.extend(true, {}, foodData, {
-            AlternativeNames: ["name1", "name2"],
-            Providers:
-                    [{
-                        Name: "Provider",
-                        Aliases: ["alias1"],
-                        Details: {
-                            Telephone: "555-555-555",
-                            PreferredCode: 999
-                        }
-                    },
-                    {
-                        Name: "Provider2",
-                        Aliases: [],
-                        Details: null
-                    }
-                ]
-        })
-    };
-
-    var mimeTypes = [undefined, "application/json;odata.metadata=minimal"/*, 
"application/atom+xml"*/];
-
-    var httpStatusCode = {
-        created: 201,
-        noContent: 204,
-        notFound: 404
-    };
-
-    $.each(testServices, function (serviceName, service) {
-        var newFood = testData[serviceName];
-
-        var foodsFeed = service + "/Foods";
-        var categoriesFeed = service + "/Categories";
-
-        module("Functional", {
-            setup: function () {
-                djstest.log("Resetting data");
-                djstest.wait(function (done) {
-                    $.post(service + "/ResetData", done);
-                });
-            }
-        });
-
-        $.each(mimeTypes, function (_, mimeType) {
-            // Provide coverage for both undefined and specific DSVs
-            // For all other cases DSV = undefined is a valid scenario
-            var dataServiceVersions = ["4.0"];
-
-            $.each(dataServiceVersions, function (_, dataServiceVersion) {
-                var headers;
-                if (mimeType || dataServiceVersion) {
-                    headers = {
-                        "Content-Type": mimeType,
-                        Accept: mimeType,
-                        "OData-Version": dataServiceVersion
-                    };
-                }
-
-                djstest.addTest(function addEntityTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: {
-                            CategoryID: 42,
-                            Name: "New Category"
-                        }
-                    };
-
-                    djstest.assertsExpected(2);
-                    verifyRequest(request, djstest.done);
-                }, "Add new entity to " + serviceName + " service using 
mimeType = " + mimeType + " and DSV = " + dataServiceVersion, headers);
-
-                djstest.addTest(function addEntityWithUTF16CharTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: {
-                            CategoryID: 42,
-                            Name: "\u00f6 New Category \u00f1"
-                        }
-                    };
-
-                    djstest.assertsExpected(2);
-                    verifyRequest(request, djstest.done);
-                }, "Add new entity with UTF-16 character to " + serviceName + 
" service using mimeType = " + mimeType + " and DSV = " + dataServiceVersion, 
headers);
-
-                djstest.addTest(function addLinkedEntityTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed + "(0)/Foods",
-                        method: "POST",
-                        headers: headers,
-                        data: newFood
-                    };
-
-                    djstest.assertsExpected(2);
-                    verifyRequest(request, djstest.done);
-                }, "Add new linked entity to " + serviceName + " service using 
mimeType = " + mimeType + " and DSV = " + dataServiceVersion, headers);
-
-                djstest.addTest(function addEntityWithInlineFeedTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: {
-                            CategoryID: 42,
-                            Name: "Olive Products",
-                            Foods: [newFood]
-                        }
-                    };
-
-                    djstest.assertsExpected(3);
-                    verifyRequest(request, function () {
-                        ODataReadOracle.readEntry(foodsFeed + "(" + 
newFood.FoodID + ")", function (actualData) {
-                            djstest.assertAreEqual(actualData.Name, 
newFood.Name, "Verify inline entities were added");
-                            djstest.done();
-                        }, headers ? headers.Accept : undefined);
-                    });
-                }, "Add new entity with inline feed to " + serviceName + " 
service using mimeType = " + mimeType + " and DSV = " + dataServiceVersion, 
headers);
-
-                djstest.addTest(function addEntityWithInlineEntryTest(headers) 
{
-                    var request = {
-                        requestUri: foodsFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: $.extend({}, newFood, {
-                            Category: {
-                                CategoryID: 42,
-                                Name: "Olive Products"
-                            }
-                        })
-                    };
-
-                    djstest.assertsExpected(3);
-                    verifyRequest(request, function () {
-                        ODataReadOracle.readEntry(categoriesFeed + "(" + 
request.data.Category.CategoryID + ")", function (actualData) {
-                            djstest.assertAreEqual(actualData.Name, 
request.data.Category.Name, "Verify inline entities were added");
-                            djstest.done();
-                        }, headers ? headers.Accept : undefined);
-                    });
-                }, "Add new entity with inline entry to " + serviceName + " 
service using mimeType = " + mimeType + " and DSV = " + dataServiceVersion, 
headers);
-
-                djstest.addTest(function updateEntityTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed + "(0)",
-                        method: "PUT",
-                        headers: headers,
-                        data: {
-                            CategoryID: 0,
-                            Name: "Updated Category"
-                        }
-                    };
-
-                    djstest.assertsExpected(2);
-                    verifyRequest(request, djstest.done);
-                }, "Update entity to " + serviceName + " service using 
mimeType = " + mimeType + " and DSV = " + dataServiceVersion, headers);
-
-                if (serviceName === "V4") {
-                    djstest.addTest(function updateEntityTest(headers) {
-                        var request = {
-                            requestUri: foodsFeed + "(0)",
-                            method: "PATCH",
-                            headers: headers,
-                            data: {
-                                "@odata.type": "#DataJS.Tests.V4.Food",
-                                AlternativeNames: ["one", "two"]
-                            }
-                        };
-
-                        djstest.assertsExpected(2);
-                        verifyRequest(request, djstest.done);
-                    }, "Update collection property to " + serviceName + " 
service using mimeType = " + mimeType + " and DSV = " + dataServiceVersion, 
headers);
-                }
-
-                if (mimeType !== "application/atom+xml") {
-                    djstest.addTest(function 
updatePrimitivePropertyTest(headers) {
-                        var request = {
-                            requestUri: categoriesFeed + "(0)/Name",
-                            method: "PUT",
-                            headers: headers,
-                            data: { value: "Updated Category" }
-                        };
-
-                        djstest.assertsExpected(2);
-                        verifyRequest(request, djstest.done);
-                    }, "Update primitive property to " + serviceName + " 
service using mimeType = " + mimeType + " and DSV = " + dataServiceVersion, 
headers);
-                }
-
-                djstest.addTest(function updateLinkedEntityTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed + "(0)/Foods(0)",
-                        method: "PUT",
-                        headers: headers,
-                        data: {
-                            "@odata.type": "#DataJS.Tests.V4.Food",
-                            Name: "Updated Food"
-                        }
-                    };
-
-                    djstest.assertsExpected(2);
-                    verifyRequest(request, djstest.done);
-                }, "Update linked entity to " + serviceName + " service using 
mimeType = " + mimeType + " and DSV = " + dataServiceVersion, headers);
-
-                djstest.addTest(function mergeEntityTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed + "(0)",
-                        method: "PATCH",
-                        headers: headers,
-                        data: { Name: "Merged Category" }
-                    };
-
-                    djstest.assertsExpected(2);
-                    verifyRequest(request, djstest.done);
-                }, "Merge entity to " + serviceName + " service using mimeType 
= " + mimeType + " and DSV = " + dataServiceVersion, headers);
-
-                djstest.addTest(function mergeLinkedEntityTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed + "(0)/Foods(0)",
-                        method: "PATCH",
-                        headers: headers,
-                        data: {
-                            "@odata.type": "#DataJS.Tests.V4.Food",
-                            Name: "Merged Food"
-                        }
-                    };
-
-                    djstest.assertsExpected(2);
-                    verifyRequest(request, djstest.done);
-                }, "Merge linked entity to " + serviceName + " service using 
mimeType = " + mimeType + " and DSV = " + dataServiceVersion, headers);
-
-                djstest.addTest(function deleteEntityTest(headers) {
-                    var endpoint = categoriesFeed + "(0)";
-                    djstest.assertsExpected(2);
-                    odatajs.oData.request({
-                        requestUri: endpoint,
-                        method: "DELETE",
-                        headers: headers
-                    }, function (data, response) {
-                        djstest.assertAreEqual(response.statusCode, 
httpStatusCode.noContent, "Verify response code");
-                        $.ajax({
-                            url: endpoint,
-                            error: function (xhr) {
-                                djstest.assertAreEqual(xhr.status, 
httpStatusCode.notFound, "Verify response code of attempted retrieval after 
delete");
-                                djstest.done();
-                            },
-                            success: function () {
-                                djstest.fail("Delete failed: querying the 
endpoint did not return expected response code");
-                                djstest.done();
-                            }
-                        });
-                    }, unexpectedErrorHandler);
-                }, "Delete entity from " + serviceName + " service using 
mimeType = " + mimeType + " and DSV = " + dataServiceVersion, headers);
-            });
-        });
-    });
-})(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-roundtrip-functional-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-roundtrip-functional-tests.js 
b/JSLib/tests/odata-roundtrip-functional-tests.js
deleted file mode 100644
index ba0c23d..0000000
--- a/JSLib/tests/odata-roundtrip-functional-tests.js
+++ /dev/null
@@ -1,374 +0,0 @@
-/// <reference path="common/djstest.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="common/ODataReadOracle.js" />
-
-(function (window, undefined) {
-    var unexpectedErrorHandler = function (err) {
-        djstest.assert(false, "Unexpected call to error handler with error: " 
+ djstest.toString(err));
-        djstest.done();
-    };
-
-    var verifyRequest = function (request, done) {
-        if (request.method == "POST") {
-            if (request.headers && request.headers["X-HTTP-Method"] == 
"MERGE") {
-                verifyMerge(request, done);
-            }
-            else {
-                verifyPost(request, done);
-            }
-        }
-        else if (request.method == "PUT") {
-            verifyPut(request, done);
-        }
-    };
-
-    var verifyPost = function (request, done) {
-        var httpOperation = request.method + " " + request.requestUri;
-        odatajs.oData.request(request, function (data, response) {
-            djstest.assertAreEqual(response.statusCode, 
httpStatusCode.created, "Verify response code: " + httpOperation);
-            ODataReadOracle.readJson(data.__metadata.uri, function 
(expectedData) {
-                djstest.assertAreEqualDeep(response.data, expectedData, 
"Verify new entry against response: " + httpOperation);
-                done();
-            }, request.headers.Accept);
-        }, unexpectedErrorHandler);
-    };
-
-    var verifyPut = function (request, done) {
-        var httpOperation = request.method + " " + request.requestUri;
-        odatajs.oData.request(request, function (data, response) {
-            djstest.assertAreEqual(response.statusCode, 
httpStatusCode.noContent, "Verify response code: " + httpOperation);
-            ODataReadOracle.readJson(request.requestUri, function (actualData) 
{
-                djstest.assertAreEqualDeep(actualData, request.data, "Verify 
updated entry: " + httpOperation);
-                done();
-            }, request.headers.Accept);
-        }, unexpectedErrorHandler);
-    }
-
-    var verifyMerge = function (request, done) {
-        var httpOperation = request.method + " " + request.requestUri;
-        ODataReadOracle.readJson(request.requestUri, function (originalData) {
-            odatajs.oData.request(request, function (data, response) {
-                djstest.assertAreEqual(response.statusCode, 
httpStatusCode.noContent, "Verify response code");
-                ODataReadOracle.readJson(request.requestUri, function 
(actualData) {
-                    // Merge the original data with the updated data to get 
the expected data
-                    var expectedData = $.extend(true, {}, originalData, 
request.data);
-                    djstest.assertAreEqualDeep(actualData, expectedData, 
"Verify merged data");
-                    done();
-                }, request.headers["Content-Type"]);
-            }, unexpectedErrorHandler);
-        }, request.headers["Content-Type"]);
-    }
-
-    // Returns a subset of object with the same set of properties (recursive) 
as the subsetObject
-    var subset = function (object, subsetObject) {
-        if (typeof (object) == "object" && typeof (subsetObject) == "object") {
-            var result = {};
-            for (subsetProp in subsetObject) {
-                result[subsetProp] = subset(object[subsetProp], 
subsetObject[subsetProp]);
-            }
-            return result;
-        }
-        else {
-            return object;
-        }
-    };
-
-    var service = "./endpoints/FoodStoreDataService.svc";
-    var foodsFeed = service + "/Foods";
-    var categoriesFeed = service + "/Categories";
-    //var mimeTypes = [undefined, "application/json", "application/atom+xml"];
-    var mimeTypes = ["application/json", "application/atom+xml"];
-
-    var httpStatusCode = {
-        created: 201,
-        noContent: 204,
-        notFound: 404
-    };
-
-    var newFood = {
-        "__metadata": {
-            type: "DataJS.Tests.Food"
-        },
-        FoodID: 42,
-        Name: "olive oil",
-        UnitPrice: 3.14,
-        ServingSize: "1",
-        MeasurementUnit: "Cup",
-        ProteinGrams: 5,
-        FatGrams: 9,
-        CarbohydrateGrams: 2,
-        CaloriesPerServing: "6",
-        IsAvailable: true,
-        ExpirationDate: new Date("2011/05/03 12:00:00 PM"),
-        ItemGUID: "27272727-2727-2727-2727-272727272727",
-        Weight: 10,
-        AvailableUnits: 1,
-        Packaging: {
-            Type: "Can",
-            Color: "White",
-            NumberPerPackage: 1,
-            RequiresRefridgeration: false,
-            PackageDimensions: {
-                Length: "4",
-                Height: 3,
-                Width: "2",
-                Volume: 1
-            },
-            ShipDate: new Date("2011/01/01 12:00:00 PM")
-        }
-    };
-
-    var newFoodLinks = {
-        uri: foodsFeed + "(1)"
-    }
-
-    module("Functional", {
-        setup: function () {
-            $.ajax({ async: false, type: "POST", url: service + "/ResetData" 
});
-        }
-    });
-
-    $.each(mimeTypes, function (_, mimeType) {
-        var headers = mimeType ? { "Content-Type": mimeType, Accept: mimeType} 
: undefined;
-
-                djstest.addTest(function addEntityTest(headers) {
-                    var request = {
-                        requestUri: categoriesFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: {
-                            CategoryID: 42,
-                            Name: "New Category"
-                        }
-                    };
-
-                    verifyRequest(request, function () {
-                        odatajs.oData.read({ requestUri: categoriesFeed + 
"(42)", headers: { Accept: mimeType} }, function (actualData, response) {
-                            actualData.CategoryID = 27;
-                            var newRequest = {
-                                requestUri: categoriesFeed,
-                                method: "POST",
-                                headers: headers,
-                                data: actualData
-                            };
-                            verifyRequest(newRequest, function () { 
djstest.done(); });
-                        }, request.headers["Content-Type"]);
-                    });
-
-                }, "Post, read posted data, post read data (mimeType = " + 
mimeType + ")", headers);
-
-        djstest.addTest(function addLinkedEntityTest(headers) {
-            var request = {
-                requestUri: categoriesFeed + "(0)/Foods",
-                method: "POST",
-                headers: headers,
-                data: newFood
-            };
-
-            verifyRequest(request, function () {
-                odatajs.oData.read({ requestUri: categoriesFeed + 
"(0)/Foods(42)", headers: { Accept: mimeType} }, function (actualData, 
response) {
-                    actualData.FoodID = 94;
-                    var newRequest = {
-                        requestUri: categoriesFeed + "(0)/Foods",
-                        method: "POST",
-                        headers: headers,
-                        data: actualData
-                    };
-                    verifyRequest(newRequest, function () { djstest.done(); });
-                }, request.headers["Content-Type"]);
-            });
-        }, "POST, read, POST an entry " + mimeType + ")", headers);
-
-
-        djstest.addTest(function addLinkedEntityTest(headers) {
-            var request = {
-                requestUri: categoriesFeed + "(0)/Foods(0)",
-                method: "PUT",
-                headers: headers,
-                data: newFood
-            };
-
-            verifyRequest(request, function () {
-                odatajs.oData.read({ requestUri: categoriesFeed + 
"(0)/Foods(0)", headers: { Accept: mimeType} }, function (actualData, response) 
{
-                    var newRequest = {
-                        requestUri: categoriesFeed + "(0)/Foods(0)",
-                        method: "PUT",
-                        headers: headers,
-                        data: {
-                            "__metadata": { type: "DataJS.Tests.Food" },
-                            Name: "New Food" 
-                        }
-                    };
-                    verifyRequest(newRequest, function () { djstest.done(); });
-                });
-            });
-        }, "PUT, read, PUT a new linked entry " + mimeType + ")", headers);
-
-        djstest.addTest(function addEntityWithInlineFeedTest(headers) {
-            var request = {
-                requestUri: categoriesFeed,
-                method: "POST",
-                headers: headers,
-                data: {
-                    CategoryID: 42,
-                    Name: "Olive Products",
-                    Foods: [newFood]
-                }
-            };
-
-            verifyRequest(request, function () {
-                odatajs.oData.read({ requestUri: foodsFeed + "(" + 
newFood.FoodID + ")", headers: { Accept: mimeType} }, function (actualData, 
response) {
-                    var newRequest = {
-                        requestUri: categoriesFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: {
-                            CategoryID: 27,
-                            Name: "Olive Products",
-                            Foods: [actualData]
-                        }
-                    };
-                    verifyRequest(newRequest, function () { djstest.done(); });
-                });
-            });
-
-        }, "POST, read, POST an entity with inline feed " + mimeType + ")", 
headers);
-
-        djstest.addTest(function addEntityWithInlineEntryTest(headers) {
-            var request = {
-                requestUri: foodsFeed,
-                method: "POST",
-                headers: headers,
-                data: $.extend({}, newFood, {
-                    Category: {
-                        "__metadata": { uri: "" },
-                        CategoryID: 42,
-                        Name: "Olive Products"
-                    }
-                })
-            };
-
-            verifyRequest(request, function () {
-                odatajs.oData.read({ requestUri: foodsFeed + "(" + 
newFood.FoodID + ")", headers: { Accept: mimeType} }, function (actualData, 
response) {
-                    actualData.FoodID = 76;
-                    var newRequest = {
-                        requestUri: foodsFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: $.extend({}, actualData, {
-                            Category: {
-                                "__metadata": { uri: "" },
-                                CategoryID: 27,
-                                Name: "Olive Products"
-                            }
-                        })
-                    };
-                    verifyRequest(newRequest, function () { djstest.done(); });
-                });
-            });
-        }, "Add new entity with inline entry (mimeType = " + mimeType + ")", 
headers);
-
-        djstest.addTest(function addEntityTest(headers) {
-            var request = {
-                requestUri: categoriesFeed + "(1)",
-                method: "PUT",
-                headers: headers,
-                data: {
-                    CategoryID: 1,
-                    Name: "New Category"
-                }
-            };
-
-            verifyRequest(request, function () {
-                odatajs.oData.read({ requestUri: categoriesFeed + "(1)", 
headers: { Accept: mimeType} }, function (actualData, response) {
-                    actualData.CategoryID = 2;
-                    var newRequest = {
-                        requestUri: categoriesFeed + "(2)",
-                        method: "PUT",
-                        headers: headers,
-                        data: actualData
-                    };
-                    verifyRequest(newRequest, function () { djstest.done(); });
-                }, request.headers["Content-Type"]);
-            });
-
-        }, "Put, read put data, put read data (mimeType = " + mimeType + ")", 
headers);
-
-        djstest.addTest(function addEntityTest(headers) {
-            odatajs.oData.read({ requestUri: foodsFeed + "(0)", headers: { 
Accept: mimeType} },
-                function (actualData, response) {
-                    actualData.CategoryID = 216;
-                    var request = {
-                        requestUri: foodsFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: actualData
-                    };
-                    verifyRequest(request,
-                        function () {
-                            odatajs.oData.read({ requestUri: foodsFeed + 
"(216)", headers: { Accept: mimeType} },
-                                function (data, response) {
-                                    ODataReadOracle.readJson(foodsFeed + 
"(216)",
-                                        function (expectedData) {
-                                            djstest.assertAreEqualDeep(data, 
expectedData, "Response data not same as expected");
-                                            djstest.done();
-                                        });
-                                });
-                        });
-                });
-        }, "Read data with dates, post read data with dates to new ID, read 
new ID data with dates" + mimeType + ")", headers);
-
-        djstest.addTest(function addEntityTest(headers) {
-            odatajs.oData.read({ requestUri: categoriesFeed + "(0)", headers: 
{ Accept: mimeType} }, 
-                function (actualData, response) {
-                    actualData.CategoryID = 81;
-                    var request = {
-                        requestUri: categoriesFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: actualData
-                    };
-                    verifyRequest(request, 
-                        function () { 
-                            odatajs.oData.read({ requestUri: categoriesFeed + 
"(81)", headers: { Accept: mimeType} }, 
-                                function (data, response) {
-                                    ODataReadOracle.readJson(categoriesFeed + 
"(81)",
-                                        function (expectedData) {
-                                            djstest.assertAreEqualDeep(data, 
expectedData, "Response data not same as expected");
-                                            djstest.done();
-                                        }
-                                    );
-                                }
-                            );
-                        }
-                    );
-                }
-            );
-        }, "Read existing data, post existing data to new idea, read new ID 
data" + mimeType + ")", headers);
-
-
-        djstest.addTest(function addEntityTest(headers) {
-            odatajs.oData.read({ requestUri: categoriesFeed + "(0)", headers: 
{ Accept: mimeType} },
-                function (actualData, response) {
-                    actualData.CategoryID = 81;
-                    var request = {
-                        requestUri: categoriesFeed,
-                        method: "POST",
-                        headers: headers,
-                        data: actualData
-                    };
-                    verifyRequest(request,
-                        function () {
-                            odatajs.oData.read({ requestUri: categoriesFeed + 
"(81)", headers: { Accept: mimeType} },
-                                function (data, response) {
-                                    ODataReadOracle.readJson(categoriesFeed + 
"(81)",
-                                        function (expectedData) {
-                                            djstest.assertAreEqualDeep(data, 
expectedData, "Response data not same as expected");
-                                            djstest.done();
-                                        });
-                                });
-                        });
-                });
-        }, "Read existing data, post existing data to new idea, read new ID 
data" + mimeType + ")", headers);
-    });
-})(this);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/4621d41c/JSLib/tests/odata-tests.js
----------------------------------------------------------------------
diff --git a/JSLib/tests/odata-tests.js b/JSLib/tests/odata-tests.js
deleted file mode 100644
index 565e139..0000000
--- a/JSLib/tests/odata-tests.js
+++ /dev/null
@@ -1,306 +0,0 @@
-/// <reference path="../src/odata-net.js" />
-/// <reference path="../src/odata.js" />
-/// <reference path="common/djstest.js" />
-/// <reference path="common/mockHttpClient.js" />
-
-// odata-tests.js
-(function (window, undefined) {
-    var northwindService = 
"http://services.odata.org/Northwind/Northwind.svc/";;
-    var localFeed = "./endpoints/FoodStoreDataService.svc/Foods";
-    var northwindFeed = northwindService + "Suppliers";
-
-    var countIFrames = function () {
-        /// <summary>Count the number of IFRAMES in the page</summary>
-        /// <returns type="Integer">The number of IFRAMES</returns>
-        return document.getElementsByTagName("IFRAME").length;
-    }
-
-    module("Unit");
-
-    var originalEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-
-    var restoreJsonpCallback = function () {
-        /// <summary>Restores OData.defaultHttpClient.enableJsonpCallback to 
the library default.</summary>
-        OData.defaultHttpClient.enableJsonpCallback = 
originalEnableJsonpCallback;
-    };
-
-    djstest.addTest(function checkApiTest() {
-        var internals = window.odatajs.oData.canUseJSONP !== undefined;
-        if (internals) {
-            // Don't even bother - there is a very long list for inter-module 
communication.
-            // {targetName: "OData", names: "..." }
-            djstest.pass("Do not test public api's when internals are 
visible");
-        } else {
-            var apis = [
-                { targetName: "datajs", names: 
"createDataCache,createStore,defaultStoreMechanism" },
-                { targetName: "OData", names: 
"atomHandler,batchHandler,defaultError,defaultHandler,defaultHttpClient,defaultMetadata,defaultSuccess,jsonHandler,metadataHandler,read,request,textHandler,xmlHandler,parseMetadata"
 }
-            ];
-
-            for (var i = 0; i < apis.length; i++) {
-                var target = window[apis[i].targetName];
-
-                var actuals = [];
-                for (var actual in target) {
-                    actuals.push(actual);
-                }
-
-                actuals.sort();
-
-                var names = apis[i].names.split(",");
-                names.sort();
-
-                djstest.assertAreEqual(actuals.join(), names.join(), "actual 
names for " + apis[i].targetName);
-            }
-        }
-
-        djstest.done();
-    });
-
-    djstest.addTest(function simpleLocalReadTest() {
-        odatajs.oData.read(localFeed, function (data, request) {
-            djstest.assert(data !== null, "data !== null");
-            djstest.assert(request !== null, "request !== null");
-            djstest.done();
-        });
-    });
-
-    djstest.addTest(function simpleLocalReadWithRequestTest() {
-        odatajs.oData.read({ requestUri: localFeed, headers: { Accept: 
"application/json"} }, function (data, response) {
-            djstest.assert(data !== null, "data !== null");
-            djstest.assert(response !== null, "response !== null");
-            djstest.assertAreEqual(data, response.data, "data === 
response.data");
-
-            // Typically application/json;charset=utf-8, but browser may 
change the request charset (and thus response).
-            var contentType = response.headers["Content-Type"];
-            contentType = contentType.split(';')[0];
-            djstest.assertAreEqual(contentType, "application/json", 
'contentType === "application/json"');
-            djstest.done();
-        });
-    });
-
-    djstest.addTest(function simpleReadTest() {
-        var oldEnableJsonpCallback = 
OData.defaultHttpClient.enableJsonpCallback;
-        OData.defaultHttpClient.enableJsonpCallback = true;
-
-        var iframesBefore = countIFrames();
-        odatajs.oData.read(northwindService + "Regions", function (data, 
request) {
-            djstest.assert(data !== null, "data !== null");
-            djstest.assert(request !== null, "request !== null");
-
-            // IFRAME recycling does not work in Opera because as soon as the 
IFRAME is added to the body, all variables
-            // go out of scope
-            if (!window.opera) {
-                djstest.assertAreEqual(countIFrames() - iframesBefore, 0, 
"extra IFRAMEs (baseline: " + iframesBefore + ")");
-            }
-
-            OData.defaultHttpClient.enableJsonpCallback = 
oldEnableJsonpCallback;
-            djstest.done();
-        });
-    });
-
-    djstest.addTest(function simpleReadWithParamsTest() {
-        OData.defaultHttpClient.enableJsonpCallback = true;
-        odatajs.oData.read(northwindFeed + "?$top=3", function (data, request) 
{
-            djstest.assert(data !== null, "data !== null");
-            djstest.assert(request !== null, "request !== null");
-            restoreJsonpCallback();
-            djstest.done();
-        }, djstest.failAndDoneCallback("Unable to read from " + northwindFeed, 
restoreJsonpCallback));
-    });
-
-    djstest.addTest(function simpleReadWithNoParamsTest() {
-        OData.defaultHttpClient.enableJsonpCallback = true;
-        odatajs.oData.read(northwindFeed + "?", function (data, request) {
-            djstest.assert(data !== null, "data !== null");
-            djstest.assert(request !== null, "request !== null");
-            restoreJsonpCallback();
-            djstest.done();
-        }, djstest.failAndDoneCallback("Unable to read from " + northwindFeed, 
restoreJsonpCallback));
-    });
-
-    djstest.addTest(function jsonpTimeoutTest() {
-        // Verifies that JSONP will timeout, and that the
-        // enableJsonpCallback flag can be set on the request itself.
-        var iframesBefore = countIFrames();
-        odatajs.oData.request({
-            requestUri: northwindFeed + "?$fail=true",
-            timeoutMS: 100,
-            enableJsonpCallback: true
-        }, function (data, request) {
-            djstest.fail("expected an error callback");
-            djstest.done();
-        }, function (err) {
-            djstest.assert(err.message.indexOf("timeout") !== 1, 
"err.message[" + err.message + "].indexOf('timeout') !== 1");
-            djstest.assertAreEqual(countIFrames() - iframesBefore, 0, "extra 
script tags (baseline: " + iframesBefore + ")");
-            djstest.done();
-        });
-    });
-
-    djstest.addTest(function requestDefaultsTest() {
-        // Save current defaults.
-        var oldError = OData.defaultError;
-        var oldSuccess = OData.defaultSuccess;
-        var oldDefaultHandler = OData.defaultHandler;
-        var oldHttpClient = OData.defaultHttpClient;
-
-        OData.defaultSuccess = function (data, response) {
-            djstest.assertAreEqual(response.statusCode, 299, "success method 
reached when expected");
-        };
-
-        OData.defaultError = function (error) {
-            var response = error.response;
-            djstest.assertAreEqual(response.statusCode, 500, "error method 
reached when expected");
-        };
-
-        OData.defaultHandler = {
-            read: function (response) {
-                djstest.assertAreEqual(response.statusCode, 299, "default 
handler read method reached when expected");
-            },
-            accept: "test accept string"
-        };
-
-        OData.defaultHttpClient = MockHttpClient.clear();
-
-        var testUris = [
-            "requestDefaultsTest/request",
-            "requestDefaultsTest/request1",
-            "requestDefaultsTest/error"
-        ];
-
-        MockHttpClient.addRequestVerifier(testUris[0], function (request) {
-            djstest.assertAreEqual(request.method, "GET", "request.method is 
GET");
-            djstest.assert(request.headers, "request.headers is defined and 
not null");
-            djstest.assertAreEqual(request.headers.Accept, "test accept 
string");
-        });
-
-        MockHttpClient.addResponse(testUris[1], { statusCode: 299, body: "test 
response" });
-        MockHttpClient.addResponse(testUris[2], { statusCode: 500, body: 
"error response" });
-
-        try {
-            var i, len;
-            for (i = 0, len = testUris.length; i < len; i++) {
-                odatajs.oData.request({ requestUri: testUris[i] });
-            }
-        }
-        finally {
-            // Restore defaults.
-            OData.defaultError = oldError;
-            OData.defaultSuccess = oldSuccess;
-            OData.defaultHandler = oldDefaultHandler;
-            OData.defaultHttpClient = oldHttpClient;
-        }
-
-        djstest.assertsExpected(6);
-        djstest.done();
-    });
-
-    djstest.addTest(function requestUpdateTest() {
-        // Save current defaults.
-        var testHandler = {
-            read: function (response) {
-                response.data = response.body;
-            },
-            write: function (request) {
-                djstest.assertAreEqual(request.method, "POST", "handler write 
method, request has the correct method");
-            }
-        };
-
-        var testSuccess = function (data, response) {
-            djstest.assertAreEqual(data, "test response", "success callback 
has the correct data");
-            djstest.assertAreEqual(response.status, 200, "success method 
reached when expected");
-        };
-
-        var testError = function (error) {
-            var response = error.response;
-            djstest.assertAreEqual(response.status, 500, "error method reached 
when expected");
-        };
-
-        MockHttpClient.addResponse("requestUpdateTest", { status: 200, body: 
"test response" });
-        MockHttpClient.addResponse("requestUpdateTest", { status: 500, body: 
"error response" });
-
-        odatajs.oData.request({ requestUri: "requestUpdateTest", method: 
"POST" }, testSuccess, testError, testHandler, MockHttpClient);
-
-        djstest.done();
-    });
-
-    djstest.addTest(function parseMetadataTest() {
-        var metadata = '<?xml version="1.0" encoding="utf-8"?>' +
-            '<edmx:Edmx Version="1.0" 
xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx";>' +
-            '<edmx:DataServices m:DataServiceVersion="4.0" 
m:MaxDataServiceVersion="4.0" 
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";>' +
-            '<Schema Namespace="ODataDemo" 
xmlns="http://schemas.microsoft.com/ado/2009/11/edm";>' +
-                '<EntityType Name="Product">' +
-                    '<Key><PropertyRef Name="ID" /></Key>' +
-                    '<Property Name="ID" Type="Edm.Int32" Nullable="false" />' 
+
-                    '<Property Name="Name" Type="Edm.String" 
m:FC_TargetPath="SyndicationTitle" m:FC_ContentKind="text" 
m:FC_KeepInContent="false" />' +
-                    '<Property Name="Description" Type="Edm.String" 
m:FC_TargetPath="SyndicationSummary" m:FC_ContentKind="text" 
m:FC_KeepInContent="false" />' +
-                    '<Property Name="ReleaseDate" Type="Edm.DateTime" 
Nullable="false" />' +
-                    '<Property Name="DiscontinuedDate" Type="Edm.DateTime" />' 
+
-                    '<Property Name="Rating" Type="Edm.Int32" Nullable="false" 
/>' +
-                    '<Property Name="Price" Type="Edm.Decimal" 
Nullable="false" />' +
-                    '<NavigationProperty Name="Category" 
Relationship="ODataDemo.Product_Category_Category_Products" 
ToRole="Category_Products" FromRole="Product_Category" />' +
-                '</EntityType>' +
-                '<EntityType Name="Category">' +
-                    '<Key>' +
-                        '<PropertyRef Name="ID" />' +
-                    '</Key>' +
-                    '<Property Name="ID" Type="Edm.Int32" Nullable="false" />' 
+
-                    '<Property Name="Name" Type="Edm.String" 
m:FC_TargetPath="SyndicationTitle" m:FC_ContentKind="text" 
m:FC_KeepInContent="true" />' +
-                    '<NavigationProperty Name="Products" 
Relationship="ODataDemo.Product_Category_Category_Products" 
ToRole="Product_Category" FromRole="Category_Products" />' +
-                '</EntityType>' +
-                '<Association Name="Product_Category_Category_Products"><End 
Type="ODataDemo.Category" Role="Category_Products" Multiplicity="0..1" />' +
-                    '<End Type="ODataDemo.Product" Role="Product_Category" 
Multiplicity="*" />' +
-                '</Association>' +
-                '<EntityContainer Name="DemoService" 
m:IsDefaultEntityContainer="true">' +
-                    '<EntitySet Name="Products" EntityType="ODataDemo.Product" 
/>' +
-                    '<EntitySet Name="Categories" 
EntityType="ODataDemo.Category" />' +
-                    '<FunctionImport Name="Discount" IsBindable="true" 
m:IsAlwaysBindable="true">' +
-                        '<Parameter Name="product" Type="ODataDemo.Product" 
/>' +
-                        '<Parameter Name="discountPercentage" Type="Edm.Int32" 
Nullable="false" />' +
-                    '</FunctionImport>' +
-                    '<AssociationSet Name="Products_Category_Categories" 
Association="ODataDemo.Product_Category_Category_Products">' +
-                        '<End Role="Product_Category" EntitySet="Products" />' 
+
-                        '<End Role="Category_Products" EntitySet="Categories" 
/>' +
-                    '</AssociationSet>' +
-                '</EntityContainer>' +
-             '</Schema></edmx:DataServices></edmx:Edmx>';
-
-        var parsedMetadata = OData.parseMetadata(metadata);
-        var expected =
-        {
-            "version": "1.0",
-            "dataServices":
-            {
-                "maxDataServiceVersion": "4.0",
-                "dataServiceVersion": "4.0",
-                "schema": [
-                    {
-                        "namespace": "ODataDemo",
-                        "entityType": [
-                            {
-                                "name": "Product",
-                                "key": { "propertyRef": [{ "name": "ID"}] },
-                                "property": [
-                                    { "name": "ID", "nullable": "false", 
"type": "Edm.Int32" },
-                                    { "name": "Name", "type": "Edm.String", 
"FC_KeepInContent": "false", "FC_ContentKind": "text", "FC_TargetPath": 
"SyndicationTitle" },
-                                    { "name": "Description", "type": 
"Edm.String", "FC_KeepInContent": "false", "FC_ContentKind": "text", 
"FC_TargetPath": "SyndicationSummary" },
-                                    { "name": "ReleaseDate", "nullable": 
"false", "type": "Edm.DateTime" }, { "name": "DiscontinuedDate", "type": 
"Edm.DateTime" },
-                                    { "name": "Rating", "nullable": "false", 
"type": "Edm.Int32" }, { "name": "Price", "nullable": "false", "type": 
"Edm.Decimal"}],
-                                "navigationProperty": [
-                                    { "name": "Category", "fromRole": 
"Product_Category", "toRole": "Category_Products", "relationship": 
"ODataDemo.Product_Category_Category_Products" }
-                                ]
-                            }, {
-                                "name": "Category",
-                                "key": { "propertyRef": [{ "name": "ID"}] },
-                                "property": [{ "name": "ID", "nullable": 
"false", "type": "Edm.Int32" }, { "name": "Name", "type": "Edm.String", 
"FC_KeepInContent": "true", "FC_ContentKind": "text", "FC_TargetPath": 
"SyndicationTitle"}],
-                                "navigationProperty": [{ "name": "Products", 
"fromRole": "Category_Products", "toRole": "Product_Category", "relationship": 
"ODataDemo.Product_Category_Category_Products"}]
-                            }],
-                        "association": [{ "name": 
"Product_Category_Category_Products", "end": [{ "type": "ODataDemo.Category", 
"multiplicity": "0..1", "role": "Category_Products" }, { "type": 
"ODataDemo.Product", "multiplicity": "*", "role": "Product_Category"}]}],
-                        "entityContainer": [{ "name": "DemoService", 
"isDefaultEntityContainer": "true", "entitySet": [{ "name": "Products", 
"entityType": "ODataDemo.Product" }, { "name": "Categories", "entityType": 
"ODataDemo.Category"}], "functionImport": [{ "name": "Discount", 
"isAlwaysBindable": "true", "isBindable": "true", "parameter": [{ "name": 
"product", "type": "ODataDemo.Product" }, { "name": "discountPercentage", 
"nullable": "false", "type": "Edm.Int32"}]}], "associationSet": [{ "name": 
"Products_Category_Categories", "association": 
"ODataDemo.Product_Category_Category_Products", "end": [{ "role": 
"Product_Category", "entitySet": "Products" }, { "role": "Category_Products", 
"entitySet": "Categories"}]}]}]
-                    }]
-            }
-        };
-        djstest.assertAreEqualDeep(expected, parsedMetadata, "metadata should 
be parsed to datajs format");
-        djstest.done();
-    });
-
-})(this);

Reply via email to