http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/lib/modules/Group.js
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/lib/modules/Group.js 
b/sdks/html5-javascript/lib/modules/Group.js
deleted file mode 100644
index 1ea27c2..0000000
--- a/sdks/html5-javascript/lib/modules/Group.js
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- *Licensed to the Apache Software Foundation (ASF) under one
- *or more contributor license agreements.  See the NOTICE file
- *distributed with this work for additional information
- *regarding copyright ownership.  The ASF licenses this file
- *to you under the Apache License, Version 2.0 (the
- *"License"); you may not use this file except in compliance
- *with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
-
- *Unless required by applicable law or agreed to in writing,
- *software distributed under the License is distributed on an
- *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *KIND, either express or implied.  See the License for the
- *specific language governing permissions and limitations
- *under the License.
- */
-
-
-/*
- *  A class to model a Usergrid group.
- *  Set the path in the options object.
- *
- *  @constructor
- *  @param {object} options {client:client, data: {'key': 'value'}, 
path:'path'}
- */
-Usergrid.Group = function(options, callback) {
-  this._path = options.path;
-  this._list = [];
-  this._client = options.client;
-  this._data = options.data || {};
-  this._data.type = "groups";
-};
-
-/*
- *  Inherit from Usergrid.Entity.
- *  Note: This only accounts for data on the group object itself.
- *  You need to use add and remove to manipulate group membership.
- */
-Usergrid.Group.prototype = new Usergrid.Entity();
-
-/*
- *  Fetches current group data, and members.
- *
- *  @method fetch
- *  @public
- *  @param {function} callback
- *  @returns {function} callback(err, data)
- */
-Usergrid.Group.prototype.fetch = function(callback) {
-  var self = this;
-  var groupEndpoint = 'groups/' + this._path;
-  var memberEndpoint = 'groups/' + this._path + '/users';
-
-  var groupOptions = {
-    method: 'GET',
-    endpoint: groupEndpoint
-  };
-
-  var memberOptions = {
-    method: 'GET',
-    endpoint: memberEndpoint
-  };
-
-  this._client.request(groupOptions, function(err, response) {
-    if (err) {
-      if (self._client.logging) {
-        console.log('error getting group');
-      }
-      doCallback(callback, [err, response], self);
-    } else {
-      var entities = response.getEntities();
-      if (entities && entities.length) {
-        var groupresponse = entities.shift();
-        //self._response = groupresponse || {};
-        self._client.request(memberOptions, function(err, response) {
-          if (err && self._client.logging) {
-            console.log('error getting group users');
-          } else {
-            self._list = response.getEntities()
-              .filter(function(entity) {
-                return isUUID(entity.uuid);
-              })
-              .map(function(entity) {
-                return new Usergrid.Entity({
-                  type: entity.type,
-                  client: self._client,
-                  uuid: entity.uuid,
-                  response: entity //TODO: deprecate this property
-                });
-              });
-          }
-          doCallback(callback, [err, response, self], self);
-        });
-      }
-    }
-  });
-};
-
-/*
- *  Retrieves the members of a group.
- *
- *  @method members
- *  @public
- *  @param {function} callback
- *  @return {function} callback(err, data);
- */
-Usergrid.Group.prototype.members = function(callback) {
-  //doCallback(callback, [null, this._list, this], this);
-  return this._list;
-};
-
-/*
- *  Adds an existing user to the group, and refreshes the group object.
- *
- *  Options object: {user: user_entity}
- *
- *  @method add
- *  @public
- *  @params {object} options
- *  @param {function} callback
- *  @return {function} callback(err, data)
- */
-Usergrid.Group.prototype.add = function(options, callback) {
-  var self = this;
-  if (options.user) {
-    options = {
-      method: "POST",
-      endpoint: "groups/" + this._path + "/users/" + 
options.user.get('username')
-    };
-    this._client.request(options, function(error, response) {
-      if (error) {
-        doCallback(callback, [error, response, self], self);
-      } else {
-        self.fetch(callback);
-      }
-    });
-  } else {
-    doCallback(callback, [new UsergridError("no user specified", 
'no_user_specified'), null, this], this);
-  }
-};
-
-/*
- *  Removes a user from a group, and refreshes the group object.
- *
- *  Options object: {user: user_entity}
- *
- *  @method remove
- *  @public
- *  @params {object} options
- *  @param {function} callback
- *  @return {function} callback(err, data)
- */
-Usergrid.Group.prototype.remove = function(options, callback) {
-  var self = this;
-  if (options.user) {
-    options = {
-      method: "DELETE",
-      endpoint: "groups/" + this._path + "/users/" + options.user.username
-    };
-    this._client.request(options, function(error, response) {
-      if (error) {
-        doCallback(callback, [error, response, self], self);
-      } else {
-        self.fetch(callback);
-      }
-    });
-  } else {
-    doCallback(callback, [new UsergridError("no user specified", 
'no_user_specified'), null, this], this);
-  }
-};
-
-/*
- * Gets feed for a group.
- *
- * @public
- * @method feed
- * @param {function} callback
- * @returns {callback} callback(err, data, activities)
- */
-Usergrid.Group.prototype.feed = function(callback) {
-  var self = this;
-  var options = {
-    method: "GET",
-    endpoint: "groups/" + this._path + "/feed"
-  };
-  this._client.request(options, function(err, response) {
-    doCallback(callback, [err, response, self], self);
-  });
-};
-
-/*
- * Creates activity and posts to group feed.
- *
- * options object: {user: user_entity, content: "activity content"}
- *
- * @public
- * @method createGroupActivity
- * @params {object} options
- * @param {function} callback
- * @returns {callback} callback(err, entity)
- */
-Usergrid.Group.prototype.createGroupActivity = function(options, callback) {
-  var self = this;
-  var user = options.user;
-  var entity = new Usergrid.Entity({
-    client: this._client,
-    data: {
-      actor: {
-        "displayName": user.get("username"),
-        "uuid": user.get("uuid"),
-        "username": user.get("username"),
-        "email": user.get("email"),
-        "picture": user.get("picture"),
-        "image": {
-          "duration": 0,
-          "height": 80,
-          "url": user.get("picture"),
-          "width": 80
-        },
-      },
-      "verb": "post",
-      "content": options.content,
-      "type": 'groups/' + this._path + '/activities'
-    }
-  });
-  entity.save(function(err, response, entity) {
-    doCallback(callback, [err, response, self]);
-  });
-};

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/lib/modules/util/Ajax.js
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/lib/modules/util/Ajax.js 
b/sdks/html5-javascript/lib/modules/util/Ajax.js
deleted file mode 100644
index 4b8a381..0000000
--- a/sdks/html5-javascript/lib/modules/util/Ajax.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- *Licensed to the Apache Software Foundation (ASF) under one
- *or more contributor license agreements.  See the NOTICE file
- *distributed with this work for additional information
- *regarding copyright ownership.  The ASF licenses this file
- *to you under the Apache License, Version 2.0 (the
- *"License"); you may not use this file except in compliance
- *with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
-
- *Unless required by applicable law or agreed to in writing,
- *software distributed under the License is distributed on an
- *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *KIND, either express or implied.  See the License for the
- *specific language governing permissions and limitations
- *under the License.
- *
- *  @author ryan bridges ([email protected])
- */
-
-//Ajax
-(function() {
-    var name = 'Ajax', global = this, overwrittenName = global[name], exports;
-
-    function partial(){
-        var args = Array.prototype.slice.call(arguments);
-        var fn=args.shift();
-        return fn.bind(this, args);
-    }
-    function Ajax() {
-        this.logger=new global.Logger(name);
-        var self=this;
-        function encode(data) {
-            var result = "";
-            if (typeof data === "string") {
-                result = data;
-            } else {
-                var e = encodeURIComponent;
-                for (var i in data) {
-                    if (data.hasOwnProperty(i)) {
-                        result += '&' + e(i) + '=' + e(data[i]);
-                    }
-                }
-            }
-            return result;
-        }
-        function request(m, u, d) {
-            var p = new Promise(), timeout;
-            self.logger.time(m + ' ' + u);
-            (function(xhr) {
-                xhr.onreadystatechange = function() {
-                    if(this.readyState === 4){
-                        self.logger.timeEnd(m + ' ' + u);
-                        clearTimeout(timeout);
-                        p.done(null, this);
-                    }
-                };
-                xhr.onerror=function(response){
-                    clearTimeout(timeout);
-                    p.done(response, null);
-                };
-                xhr.oncomplete=function(response){
-                    clearTimeout(timeout);
-                    self.logger.timeEnd(m + ' ' + u);
-                    self.info("%s request to %s returned %s", m, u, 
this.status );
-                };
-                xhr.open(m, u);
-                if (d) {
-                    if("object"===typeof d){
-                        d=JSON.stringify(d);
-                    }
-                    xhr.setRequestHeader("Content-Type", "application/json");
-                    xhr.setRequestHeader("Accept", "application/json");
-                }
-                timeout = setTimeout(function() {
-                    xhr.abort();
-                    p.done("API Call timed out.", null);
-                }, 30000);
-                //TODO stick that timeout in a config variable
-                xhr.send(encode(d));
-            }(new XMLHttpRequest()));
-            return p;
-        }
-        this.request=request;
-        this.get = partial(request,'GET');
-        this.post = partial(request,'POST');
-        this.put = partial(request,'PUT');
-        this.delete = partial(request,'DELETE');
-    }
-    global[name] =  new Ajax();
-    global[name].noConflict = function() {
-        if(overwrittenName){
-            global[name] = overwrittenName;
-        }
-        return exports;
-    };
-    return global[name];
-}());

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/lib/modules/util/Event.js
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/lib/modules/util/Event.js 
b/sdks/html5-javascript/lib/modules/util/Event.js
deleted file mode 100644
index d826e04..0000000
--- a/sdks/html5-javascript/lib/modules/util/Event.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var UsergridEventable  = function(){
-    throw Error("'UsergridEventable' is not intended to be invoked directly");
-};
-UsergridEventable.prototype    = {
-    bind       : function(event, fn){
-        this._events = this._events || {};
-        this._events[event] = this._events[event]      || [];
-        this._events[event].push(fn);
-    },
-    unbind     : function(event, fn){
-        this._events = this._events || {};
-        if( event in this._events === false  ) return;
-        this._events[event].splice(this._events[event].indexOf(fn), 1);
-    },
-    trigger    : function(event /* , args... */){
-        this._events = this._events || {};
-        if( event in this._events === false  ) return;
-        for(var i = 0; i < this._events[event].length; i++){
-            this._events[event][i].apply(this, 
Array.prototype.slice.call(arguments, 1));
-        }
-    }
-};
-UsergridEventable.mixin        = function(destObject){
-    var props  = ['bind', 'unbind', 'trigger'];
-    for(var i = 0; i < props.length; i ++){
-        if(props[i] in destObject.prototype){
-            console.warn("overwriting '"+props[i]+"' on 
'"+destObject.name+"'.");
-            console.warn("the previous version can be found at '_"+props[i]+"' 
on '"+destObject.name+"'.");
-            destObject.prototype['_'+props[i]]=destObject.prototype[props[i]];
-        }
-        destObject.prototype[props[i]] = UsergridEventable.prototype[props[i]];
-    }
-};

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/lib/modules/util/Logger.js
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/lib/modules/util/Logger.js 
b/sdks/html5-javascript/lib/modules/util/Logger.js
deleted file mode 100644
index c3cf579..0000000
--- a/sdks/html5-javascript/lib/modules/util/Logger.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- *Licensed to the Apache Software Foundation (ASF) under one
- *or more contributor license agreements.  See the NOTICE file
- *distributed with this work for additional information
- *regarding copyright ownership.  The ASF licenses this file
- *to you under the Apache License, Version 2.0 (the
- *"License"); you may not use this file except in compliance
- *with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
-
- *Unless required by applicable law or agreed to in writing,
- *software distributed under the License is distributed on an
- *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *KIND, either express or implied.  See the License for the
- *specific language governing permissions and limitations
- *under the License.
- *
- *  @author ryan bridges ([email protected])
- */
-
-//Logger
-(function() {
-    var name = 'Logger', global = this, overwrittenName = global[name], 
exports;
-    /* logging */
-    function Logger(name) {
-        this.logEnabled = true;
-        this.init(name, true);
-    }
-    Logger.METHODS=[
-        "log", "error", "warn", "info", "debug", "assert", "clear", "count",
-        "dir", "dirxml", "exception", "group", "groupCollapsed", "groupEnd",
-        "profile", "profileEnd", "table", "time", "timeEnd", "trace"
-    ];
-    Logger.prototype.init=function(name, logEnabled){
-        this.name=name||"UNKNOWN";
-        this.logEnabled=logEnabled||true;
-        var 
addMethod=function(method){this[method]=this.createLogMethod(method);}.bind(this);
-        Logger.METHODS.forEach(addMethod);
-    };
-    Logger.prototype.createLogMethod=function(method){
-        return Logger.prototype.log.bind(this, method);
-    };
-    Logger.prototype.prefix=function(method, args){
-        var prepend='['+method.toUpperCase()+']['+name+"]:\t";
-        if(['log', 'error', 'warn', 'info'].indexOf(method)!==-1){
-            if("string"===typeof args[0]){
-                args[0]=prepend+args[0];
-            }else{
-                args.unshift(prepend);
-            }
-        }
-        return args;
-    };
-    Logger.prototype.log=function(){
-        var args=[].slice.call(arguments);
-        method=args.shift();
-        if(Logger.METHODS.indexOf(method)===-1){
-            method="log";
-        }
-        if(!(this.logEnabled && console && console[method]))return;
-        args=this.prefix(method, args);
-        console[method].apply(console, args);
-    };
-    Logger.prototype.setLogEnabled=function(logEnabled){
-        this.logEnabled=logEnabled||true;
-    };
-
-    Logger.mixin       = function(destObject){
-        destObject.__logger=new Logger(destObject.name||"UNKNOWN");
-        var addMethod=function(method){
-            if(method in destObject.prototype){
-                console.warn("overwriting '"+method+"' on 
'"+destObject.name+"'.");
-                console.warn("the previous version can be found at 
'_"+method+"' on '"+destObject.name+"'.");
-                destObject.prototype['_'+method]=destObject.prototype[method];
-            }
-            
destObject.prototype[method]=destObject.__logger.createLogMethod(method);
-        };
-        Logger.METHODS.forEach(addMethod);
-    };
-    global[name] =  Logger;
-    global[name].noConflict = function() {
-        if(overwrittenName){
-            global[name] = overwrittenName;
-        }
-        return Logger;
-    };
-    return global[name];
-}());

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/lib/modules/util/Promise.js
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/lib/modules/util/Promise.js 
b/sdks/html5-javascript/lib/modules/util/Promise.js
deleted file mode 100644
index 76d0d04..0000000
--- a/sdks/html5-javascript/lib/modules/util/Promise.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- *Licensed to the Apache Software Foundation (ASF) under one
- *or more contributor license agreements.  See the NOTICE file
- *distributed with this work for additional information
- *regarding copyright ownership.  The ASF licenses this file
- *to you under the Apache License, Version 2.0 (the
- *"License"); you may not use this file except in compliance
- *with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
-
- *Unless required by applicable law or agreed to in writing,
- *software distributed under the License is distributed on an
- *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *KIND, either express or implied.  See the License for the
- *specific language governing permissions and limitations
- *under the License.
- *
- *  @author ryan bridges ([email protected])
- */
-
-//Promise
-(function(global) {
-    var name = 'Promise', overwrittenName = global[name], exports;
-
-        function Promise() {
-            this.complete = false;
-            this.error = null;
-            this.result = null;
-            this.callbacks = [];
-        }
-        Promise.prototype.then = function(callback, context) {
-            var f = function() {
-                return callback.apply(context, arguments);
-            };
-            if (this.complete) {
-                f(this.error, this.result);
-            } else {
-                this.callbacks.push(f);
-            }
-        };
-        Promise.prototype.done = function(error, result) {
-            this.complete = true;
-            this.error = error;
-            this.result = result;
-            if(this.callbacks){
-                for (var i = 0; i < this.callbacks.length; i++) 
this.callbacks[i](error, result);
-                this.callbacks.length = 0;
-            }
-        };
-        Promise.join = function(promises) {
-            var p = new Promise(),
-                total = promises.length,
-                completed = 0,
-                errors = [],
-                results = [];
-
-            function notifier(i) {
-                return function(error, result) {
-                    completed += 1;
-                    errors[i] = error;
-                    results[i] = result;
-                    if (completed === total) {
-                        p.done(errors, results);
-                    }
-                };
-            }
-            for (var i = 0; i < total; i++) {
-                promises[i]().then(notifier(i));
-            }
-            return p;
-        };
-        Promise.chain = function(promises, error, result) {
-            var p = new Promise();
-            if (promises===null||promises.length === 0) {
-                p.done(error, result);
-            } else {
-                promises[0](error, result).then(function(res, err) {
-                    promises.splice(0, 1);
-                    //self.logger.info(promises.length)
-                    if(promises){
-                        Promise.chain(promises, res, err).then(function(r, e) {
-                            p.done(r, e);
-                        });
-                    }else{
-                        p.done(res, err);
-                    }
-                });
-            }
-            return p;
-        };
-
-    global[name] =  Promise;
-    global[name].noConflict = function() {
-        if(overwrittenName){
-            global[name] = overwrittenName;
-        }
-        return Promise;
-    };
-    return global[name];
-}(this));

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/package.json
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/package.json 
b/sdks/html5-javascript/package.json
deleted file mode 100644
index 72e2046..0000000
--- a/sdks/html5-javascript/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "name": "usergrid",
-  "version": "0.11.0",
-  "description": "Detailed instructions follow but if you just want a quick 
example of how to get started with this SDK, here’s a minimal HTML5 file that 
shows you how to include & initialize the SDK, as well as how to read & write 
data from Usergrid with it.",
-  "main": "usergrid.js",
-  "directories": {
-    "example": "examples"
-  },
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "author": "",
-  "license": "Apache 2.0",
-  "devDependencies": {
-    "grunt": "~0.4.2",
-    "grunt-contrib-clean": "~0.5.0",
-    "grunt-contrib-watch": "~0.5.3",
-    "grunt-contrib-uglify": "~0.2.7",
-    "grunt-blanket-mocha": "~0.3.3",
-    "grunt-contrib-connect": "~0.6.0"
-  }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/tests/mocha/index.html
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/tests/mocha/index.html 
b/sdks/html5-javascript/tests/mocha/index.html
deleted file mode 100644
index da47564..0000000
--- a/sdks/html5-javascript/tests/mocha/index.html
+++ /dev/null
@@ -1,60 +0,0 @@
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<html>
-<head>
-  <meta charset="utf-8">
-  <title>Mocha Tests</title>
-  <link rel="stylesheet" href="../resources/css/mocha.css" />
-  <script src="../resources/js/mocha.js"></script>
-  <script>mocha.setup('bdd')</script>
-  <script src="../resources/js/blanket_mocha.min.js"></script>
-  <script type="text/javascript" 
src="../../node_modules/grunt-blanket-mocha/support/mocha-blanket.js"></script>
-       <script>
-      function assert(expr, msg) {
-        if (!expr) throw new Error(msg || 'failed');
-      }
-    </script>
-
-  <script src="../../usergrid.js" data-cover></script>
-  <script src="test.js"></script>
-<!-- run mocha -->
-    <script type="text/javascript" charset="utf-8">
-       var _onload=onload||function(){};
-        onload = function(){
-               _onload.apply(this, arguments);
-               mocha.checkLeaks();
-               mocha.globals(['']);
-               var runner = mocha.run();
-               /*runner.on('test end', function(test){
-                 console.log(test.fullTitle());
-               });*/
-             };
-    </script>
-
-  <script>
-    if (window.PHANTOMJS) {
-        blanket.options("reporter", 
"../../node_modules/grunt-blanket-mocha/support/grunt-reporter.js");
-    }
-  </script>
-
-</head>
-<body>
-       <div id="mocha"></div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/tests/mocha/test.js
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/tests/mocha/test.js 
b/sdks/html5-javascript/tests/mocha/test.js
deleted file mode 100644
index ef4ff54..0000000
--- a/sdks/html5-javascript/tests/mocha/test.js
+++ /dev/null
@@ -1,1078 +0,0 @@
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License.  You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-/*
-       Creates a generic usergrid client with logging and buildCurl disabled
-
- */
-function getClient() {
-       return new Usergrid.Client({
-               orgName: 'yourorgname',
-               appName: 'sandbox',
-               logging: false, //optional - turn on logging, off by default
-               buildCurl: true //optional - turn on curl commands, off by 
default
-       });
-}
-/*
-       A convenience function that will test for the presence of an API error
-       and run any number of additional tests
- */
-function usergridTestHarness(err, data, done, tests, ignoreError) {
-       if (!ignoreError) assert(!err, (err)?err.error_description:"unknown");
-       if (tests) {
-               if ("function" === typeof tests) {
-                       tests(err, data);
-               } else if (tests.length) {
-                       tests.forEach(function(test) {
-                               if ("function" === typeof test) {
-                                       test(err, data);
-                               }
-                       })
-               }
-       }
-       done();
-}
-describe('Ajax', function() {
-    var dogName="dog"+Math.floor(Math.random()*10000);
-    var dogData=JSON.stringify({type:"dog",name:dogName});
-    var dogURI='https://api.usergrid.com/yourorgname/sandbox/dogs'
-    it('should POST to a URI',function(done){
-        Ajax.post(dogURI, dogData).then(function(err, data){
-            assert(!err, err);
-            done();
-        })
-    })
-    it('should GET a URI',function(done){
-        Ajax.get(dogURI+'/'+dogName).then(function(err, data){
-            assert(!err, err);
-            done();
-        })
-    })
-    it('should PUT to a URI',function(done){
-        Ajax.put(dogURI+'/'+dogName, {"favorite":true}).then(function(err, 
data){
-            assert(!err, err);
-            done();
-        })
-    })
-    it('should DELETE a URI',function(done){
-        Ajax.delete(dogURI+'/'+dogName, dogData).then(function(err, data){
-            assert(!err, err);
-            done();
-        })
-    })
-});
-describe('UsergridError', function() {
-    var errorResponse={
-        "error":"service_resource_not_found",
-        "timestamp":1392067967144,
-        "duration":0,
-        
"exception":"org.usergrid.services.exceptions.ServiceResourceNotFoundException",
-        "error_description":"Service resource not found"
-    };
-    it('should unmarshal a response from Usergrid into a proper Javascript 
error',function(done){
-        var error = UsergridError.fromResponse(errorResponse);
-        assert(error.name===errorResponse.error, "Error name not set 
correctly");
-        assert(error.message===errorResponse.error_description, "Error message 
not set correctly");
-        done();
-    });
-});
-describe('Usergrid', function(){
-    describe('SDK Version', function(){
-        it('should contain a minimum SDK version',function(){
-            var parts=Usergrid.VERSION.split('.').map(function(i){return 
i.replace(/^0+/,'')}).map(function(i){return parseInt(i)});
-
-            assert(parts[1]>=10, "expected minor version >=10");
-            assert(parts[1]>10||parts[2]>=8, "expected minimum version >=8");
-        });
-    });
-    describe('Usergrid Request/Response', function() {
-        var dogName="dog"+Math.floor(Math.random()*10000);
-        var dogData=JSON.stringify({type:"dog",name:dogName});
-        var dogURI='https://api.usergrid.com/yourorgname/sandbox/dogs'
-        it('should POST to a URI',function(done){
-            var req=new Usergrid.Request("POST", dogURI, {}, dogData, 
function(err, response){
-                console.error(err, response);
-                assert(!err, err);
-                assert(response instanceof Usergrid.Response, "Response is not 
and instance of Usergrid.Response");
-                done();
-            })
-        })
-        it('should GET a URI',function(done){
-            var req=new Usergrid.Request("GET", dogURI+'/'+dogName, {}, null, 
function(err, response){
-                assert(!err, err);
-                assert(response instanceof Usergrid.Response, "Response is not 
and instance of Usergrid.Response");
-                done();
-            })
-        })
-        it('should GET an array of entity data from the Usergrid.Response 
object',function(done){
-            var req=new Usergrid.Request("GET", dogURI, {}, null, 
function(err, response){
-                assert(!err, err);
-                assert(response instanceof Usergrid.Response, "Response is not 
and instance of Usergrid.Response");
-                var entities=response.getEntities();
-                assert(entities && entities.length, "Nothing was returned")
-                done();
-            })
-        })
-        it('should GET entity data from the Usergrid.Response 
object',function(done){
-            var req=new Usergrid.Request("GET", dogURI+'/'+dogName, {}, null, 
function(err, response){
-                var entity=response.getEntity();
-                assert(!err, err);
-                assert(response instanceof Usergrid.Response, "Response is not 
and instance of Usergrid.Response");
-                assert(entity, "Nothing was returned")
-                done();
-            })
-        })
-        it('should PUT to a URI',function(done){
-            var req=new Usergrid.Request("PUT", dogURI+'/'+dogName, {}, 
{favorite:true}, function(err, response){
-                assert(!err, err);
-                assert(response instanceof Usergrid.Response, "Response is not 
and instance of Usergrid.Response");
-                done();
-            })
-        })
-        it('should DELETE a URI',function(done){
-            var req=new Usergrid.Request("DELETE", dogURI+'/'+dogName, {}, 
null, function(err, response){
-                assert(!err, err);
-                assert(response instanceof Usergrid.Response, "Response is not 
and instance of Usergrid.Response");
-                done();
-            })
-        })
-        it('should NOT allow an invalid method',function(done){
-            try{
-                var req=new Usergrid.Request("INVALID", dogURI+'/'+dogName, 
{}, null, function(err, response){
-                    assert(true, "Should have thrown an 
UsergridInvalidHTTPMethodError");
-                    done();
-                })
-            }catch(e){
-                assert(e instanceof UsergridInvalidHTTPMethodError, "Error is 
not and instance of UsergridInvalidHTTPMethodError");
-                done()
-            }
-        })
-        it('should NOT allow an invalid URI',function(done){
-            try{
-                var req=new Usergrid.Request("GET", "://apigee.com", {}, null, 
function(err, response){
-                    assert(true, "Should have thrown an 
UsergridInvalidURIError");
-                    done();
-                })
-            }catch(e){
-                assert(e instanceof UsergridInvalidURIError, "Error is not and 
instance of UsergridInvalidURIError");
-                done()
-            }
-        })
-        it('should return a UsergridError object on an invalid 
URI',function(done){
-            var req=new Usergrid.Request("GET", dogURI+'/'+dogName+'zzzzz', 
{}, null, function(err, response){
-                assert(err, "Should have returned an error");
-                assert(response instanceof Usergrid.Response, "Response is not 
and instance of Usergrid.Response");
-                assert(err instanceof UsergridError, "Error is not and 
instance of UsergridError");
-                done();
-            })
-        })
-    });
-    describe('Usergrid Client', function() {
-        var client = getClient();
-        describe('Usergrid CRUD request', function() {
-            before(function(done) {
-                this.timeout(10000);
-                //Make sure our dog doesn't already exist
-                client.request({
-                    method: 'DELETE',
-                    endpoint: 'users/fred'
-                }, function(err, data) {
-                    done();
-                });
-            });
-            var options = {
-                method: 'GET',
-                endpoint: 'users'
-            };
-            it('should persist default query parameters', function(done) {
-                //create new client with default params
-                var client=new Usergrid.Client({
-                    orgName: 'yourorgname',
-                    appName: 'sandbox',
-                    logging: false, //optional - turn on logging, off by 
default
-                    buildCurl: true, //optional - turn on curl commands, off 
by default
-                    qs:{
-                        test1:'test1',
-                        test2:'test2'
-                    }
-                });
-                var default_qs=client.getObject('default_qs');
-                assert(default_qs.test1==='test1', "the default query 
parameters were not persisted");
-                assert(default_qs.test2==='test2', "the default query 
parameters were not persisted");
-                client.request({
-                    method: 'GET',
-                    endpoint: 'users'
-                }, function(err, data) {
-                    assert(data.params.test2[0]==='test2', "the default query 
parameters were not sent to the backend");
-                    assert(data.params.test1[0]==='test1', "the default query 
parameters were not sent to the backend");
-                    done();
-                });
-            });
-            it('should CREATE a new user', function(done) {
-                client.request({
-                    method: 'POST',
-                    endpoint: 'users',
-                    body: {
-                        username: 'fred',
-                        password: 'secret'
-                    }
-                }, function(err, data) {
-                    usergridTestHarness(err, data, done, [
-                        function(err, data) {
-                            assert(!err)
-                        }
-                    ]);
-                });
-            });
-            it('should RETRIEVE an existing user', function(done) {
-                client.request({
-                    method: 'GET',
-                    endpoint: 'users/fred',
-                    body: {}
-                }, function(err, data) {
-                    usergridTestHarness(err, data, done, [
-
-                        function(err, data) {
-                            assert(true)
-                        }
-                    ]);
-                });
-            });
-            it('should UPDATE an existing user', function(done) {
-                client.request({
-                    method: 'PUT',
-                    endpoint: 'users/fred',
-                    body: {
-                        newkey: 'newvalue'
-                    }
-                }, function(err, data) {
-                    usergridTestHarness(err, data, done, [
-
-                        function(err, data) {
-                            assert(true)
-                        }
-                    ]);
-                });
-            });
-            it('should DELETE the user from the database', function(done) {
-                client.request({
-                    method: 'DELETE',
-                    endpoint: 'users/fred'
-                }, function(err, data) {
-                    usergridTestHarness(err, data, done, [
-
-                        function(err, data) {
-                            assert(true)
-                        }
-                    ]);
-                });
-            });
-        });
-        describe('Usergrid REST', function() {
-            it('should return a list of users', function(done) {
-                client.request({
-                    method: 'GET',
-                    endpoint: 'users'
-                }, function(err, data) {
-                    usergridTestHarness(err, data, done, [
-                        function(err, data) {
-                            assert(data.entities.length>=0, "Request should 
return at least one user");
-                        }
-                    ]);
-                });
-            });
-            it('should return no entities when an endpoint does not exist', 
function(done) {
-                client.request({
-                    method: 'GET',
-                    endpoint: 'nonexistantendpoint'
-                }, function(err, data) {
-                    usergridTestHarness(err, data, done, [
-
-                        function(err, data) {
-                            assert(data.entities.length===0, "Request should 
return no entities");
-                        }
-                    ]);
-                });
-            });
-        });
-        describe('Usergrid convenience methods', function(){
-            before(function(){ client.logout();});
-            it('createEntity',function(done){
-                client.createEntity({type:'dog',name:'createEntityTestDog'}, 
function(err, response, dog){
-                    console.warn(err, response, dog);
-                    assert(!err, "createEntity returned an error")
-                    assert(dog, "createEntity did not return a dog")
-                    assert(dog.get("name")==='createEntityTestDog', "The dog's 
name is not 'createEntityTestDog'")
-                    done();
-                })
-            })
-            it('createEntity - existing entity',function(done){
-                    
client.createEntity({type:'dog',name:'createEntityTestDog'}, function(err, 
response, dog){
-                        try{
-                            assert(err, "createEntity should return an error")
-                        }catch(e){
-                            assert(true, "trying to create an entity that 
already exists throws an error");
-                        }finally{
-                            done();
-                        }
-                    });
-            })
-            var testGroup;
-            it('createGroup',function(done){
-                client.createGroup({path:'dogLovers'},function(err, response, 
group){
-                        try{
-                            assert(!err, "createGroup returned an error")
-                        }catch(e){
-                            assert(true, "trying to create a group that 
already exists throws an error");
-                        }finally{
-                            done();
-                        }
-                    /*assert(!err, "createGroup returned an error: "+err);
-                    assert(group, "createGroup did not return a group");
-                    assert(group instanceof Usergrid.Group, "createGroup did 
not return a Usergrid.Group");
-                    testGroup=group;
-                    done();*/
-                })
-                done();
-            })
-            it('buildAssetURL',function(done){
-                var 
assetURL='https://api.usergrid.com/yourorgname/sandbox/assets/00000000-0000-0000-000000000000/data';
-                
assert(assetURL===client.buildAssetURL('00000000-0000-0000-000000000000'), 
"buildAssetURL doesn't work")
-                done();
-            })
-            var dogEntity;
-            it('getEntity',function(done){
-                client.getEntity({type:'dog',name:'createEntityTestDog'}, 
function(err, response, dog){
-                    assert(!err, "createEntity returned an error")
-                    assert(dog, "createEntity returned a dog")
-                    assert(dog.get("uuid")!==null, "The dog's UUID was not 
returned")
-                    dogEntity=dog;
-                    done();
-                })
-            })
-            it('restoreEntity',function(done){
-                var serializedDog=dogEntity.serialize();
-                var dog=client.restoreEntity(serializedDog);
-                assert(dog, "restoreEntity did not return a dog")
-                assert(dog.get("uuid")===dogEntity.get("uuid"), "The dog's 
UUID was not the same as the serialized dog")
-                assert(dog.get("type")===dogEntity.get("type"), "The dog's 
type was not the same as the serialized dog")
-                assert(dog.get("name")===dogEntity.get("name"), "The dog's 
name was not the same as the serialized dog")
-
-                done();
-            })
-            var dogCollection;
-            it('createCollection',function(done){
-                client.createCollection({type:'dogs'},function(err, response, 
dogs){
-                    assert(!err, "createCollection returned an error");
-                    assert(dogs, "createCollection did not return a dogs 
collection");
-                    dogCollection=dogs;
-                    done();
-                })
-            })
-            it('restoreCollection',function(done){
-                var serializedDogs=dogCollection.serialize();
-                var dogs=client.restoreCollection(serializedDogs);
-                console.warn('restoreCollection',dogs, dogCollection);
-                assert(dogs._type===dogCollection._type, "The dog collection 
type was not the same as the serialized dog collection")
-                assert(dogs._qs==dogCollection._qs, "The query strings do not 
match")
-                assert(dogs._list.length===dogCollection._list.length, "The 
collections have a different number of entities")
-                done();
-            })
-            var activityUser;
-            before(function(done){
-                activityUser=new 
Usergrid.Entity({client:client,data:{"type":"user",'username':"testActivityUser"}});
-                console.warn(activityUser);
-                activityUser.fetch(function(err, data){
-                    console.warn(err, data, activityUser);
-                    if(err){
-                        activityUser.save(function(err, data){
-                            activityUser.set(data);
-                            done();
-                        });
-                    }else{
-                        activityUser.set(data);
-                        done();
-                    }
-                })
-            })
-            it('createUserActivity',function(done){
-                 var options = {
-                   "actor" : {
-                         "displayName" :"Test Activity User",
-                             "uuid" : activityUser.get("uuid"),
-                             "username" : "testActivityUser",
-                             "email" : "[email protected]",
-                             "image" : {
-                                     "height" : 80,
-                                     "url" : "http://placekitten.com/80/80";,
-                                     "width" : 80
-                             }
-                        },
-                        "verb" : "post",
-                       "content" : "test post for createUserActivity",
-                       "lat" : 48.856614,
-                       "lon" : 2.352222
-                     };
-                client.createUserActivity("testActivityUser", options, 
function(err, activity){
-                    assert(!err, "createUserActivity returned an error");
-                    assert(activity, "createUserActivity returned no activity 
object")
-                    done();
-                })
-            })
-            it('createUserActivityWithEntity',function(done){
-                    client.createUserActivityWithEntity(activityUser, "Another 
test activity with createUserActivityWithEntity", function(err, activity){
-                        assert(!err, "createUserActivityWithEntity returned an 
error "+err);
-                        assert(activity, "createUserActivityWithEntity 
returned no activity object")
-                        done();
-                    })
-            })
-            it('getFeedForUser',function(done){
-                client.getFeedForUser('testActivityUser', function(err, data, 
items){
-                    assert(!err, "getFeedForUser returned an error");
-                    assert(data, "getFeedForUser returned no data object")
-                    assert(items, "getFeedForUser returned no items array")
-                    done();
-                })
-            })
-            var testProperty="____test_item"+Math.floor(Math.random()*10000),
-                testPropertyValue="test"+Math.floor(Math.random()*10000),
-                testPropertyObjectValue={test:testPropertyValue};
-            it('set',function(done){
-                client.set(testProperty, testPropertyValue);
-                done();
-            })
-            it('get',function(done){
-                var retrievedValue=client.get(testProperty);
-                assert(retrievedValue===testPropertyValue, "Get is not working 
properly");
-                done();
-            })
-            it('setObject',function(done){
-                client.set(testProperty, testPropertyObjectValue);
-                done();
-            })
-            it('getObject',function(done){
-                var retrievedValue=client.get(testProperty);
-                assert(retrievedValue==testPropertyObjectValue, "getObject is 
not working properly");
-                done();
-            })
-            /*it('setToken',function(done){
-                client.setToken("dummytoken");
-                done();
-            })
-            it('getToken',function(done){
-                assert(client.getToken()==="dummytoken");
-                done();
-            })*/
-            it('remove property',function(done){
-                client.set(testProperty);
-                assert(client.get(testProperty)===null);
-                done();
-            })
-            var newUser;
-            it('signup',function(done){
-                client.signup("newUsergridUser", "Us3rgr1d15Aw3s0m3!", 
"[email protected]", "Another Satisfied Developer", function(err, user){
-                    assert(!err, "signup returned an error");
-                    assert(user, "signup returned no user object")
-                    newUser=user;
-                    done();
-                })
-            })
-            it('login',function(done){
-                client.login("newUsergridUser", "Us3rgr1d15Aw3s0m3!", 
function(err, data, user){
-                    assert(!err, "login returned an error");
-                    assert(user, "login returned no user object")
-                    done();
-                })
-            })
-            /*it('reAuthenticateLite',function(done){
-                client.reAuthenticateLite(function(err){
-                    assert(!err, "reAuthenticateLite returned an error");
-                    done();
-                })
-            })*/
-            /*it('reAuthenticate',function(done){
-                client.reAuthenticate("[email protected]", function(err, 
data, user, organizations, applications){
-                    assert(!err, "reAuthenticate returned an error");
-                    done();
-                })
-            })*/
-            /*it('loginFacebook',function(done){
-                assert(true, "Not sure how feasible it is to test this with 
Mocha")
-                done();
-            })*/
-            it('isLoggedIn',function(done){
-                assert(client.isLoggedIn()===true, "isLoggedIn is not 
detecting that we have logged in.")
-                done();
-            })
-            it('getLoggedInUser',function(done){
-                setTimeout(function(){
-                    client.getLoggedInUser(function(err, data, user){
-                        assert(!err, "getLoggedInUser returned an error");
-                        assert(user, "getLoggedInUser returned no user object")
-                        done();
-                    })
-                },1000);
-            })
-            before(function(done){
-                //please enjoy this musical interlude.
-                setTimeout(function(){done()},1000);
-            })
-            it('logout',function(done){
-                client.logout();
-                assert(null===client.getToken(), "we logged out, but the token 
still remains.")
-                done();
-            })
-            it('getLoggedInUser',function(done){
-                client.getLoggedInUser(function(err, data, user){
-                    assert(err, "getLoggedInUser should return an error after 
logout");
-                    assert(user, "getLoggedInUser should not return data after 
logout")
-                    done();
-                })
-            })
-            it('isLoggedIn',function(done){
-                assert(client.isLoggedIn()===false, "isLoggedIn still returns 
true after logout.")
-                done();
-            })
-            after(function (done) {
-                client.request({
-                    method: 'DELETE',
-                    endpoint: 'users/newUsergridUser'
-                }, function (err, data) {
-                    done();
-                });
-
-            })
-            it('buildCurlCall',function(done){
-                done();
-            })
-            it('getDisplayImage',function(done){
-                done();
-            })
-            after(function(done){
-                dogEntity.destroy();
-                //dogCollection.destroy();
-                //testGroup.destroy();
-                done();
-            })
-        });
-    });
-    describe('Usergrid Entity', function() {
-        var client = getClient();
-        var dog;
-        before(function(done) {
-            //Make sure our dog doesn't already exist
-            client.request({
-                method: 'DELETE',
-                endpoint: 'dogs/Rocky'
-            }, function(err, data) {
-                assert(true);
-                done();
-            });
-        });
-        it('should CREATE a new dog', function(done) {
-            var options = {
-                type: 'dogs',
-                name: 'Rocky'
-            }
-            dog=new Usergrid.Entity({client:client,data:options});
-            dog.save(function(err, entity) {
-                assert(!err, "dog not created");
-                done();
-            });
-        });
-        it('should RETRIEVE the dog', function(done) {
-            if (!dog) {
-                assert(false, "dog not created");
-                done();
-                return;
-            }
-            //once the dog is created, you can set single properties:
-            dog.fetch(function(err) {
-                assert(!err, "dog not fetched");
-                done();
-            });
-        });
-        it('should UPDATE the dog', function(done) {
-            if (!dog) {
-                assert(false, "dog not created");
-                done();
-                return;
-            }
-            //once the dog is created, you can set single properties:
-            dog.set('breed', 'Dinosaur');
-
-            //the set function can also take a JSON object:
-            var data = {
-                master: 'Fred',
-                state: 'hungry'
-            }
-            //set is additive, so previously set properties are not overwritten
-            dog.set(data);
-            //finally, call save on the object to save it back to the database
-            dog.save(function(err) {
-                assert(!err, "dog not saved");
-                done();
-            });
-        });
-        it('should DELETE the dog', function(done) {
-            if (!dog) {
-                assert(false, "dog not created");
-                done();
-                return;
-            }
-            //once the dog is created, you can set single properties:
-            dog.destroy(function(err) {
-                assert(!err, "dog not removed");
-                done();
-            });
-        });
-    });
-    describe('Usergrid Collections', function() {
-        var client = getClient();
-        var dog, dogs = {};
-
-        before(function(done) {
-            //Make sure our dog doesn't already exist
-            var options = {
-                type: 'dogs',
-                qs: {
-                    limit: 50
-                } //limit statement set to 50
-            }
-
-            client.createCollection(options, function(err, response, dogs) {
-                if (!err) {
-                    assert(!err, "could not retrieve list of dogs: " + 
dogs.error_description);
-                    //we got 50 dogs, now display the Entities:
-                    //do doggy cleanup
-                    //if (dogs.hasNextEntity()) {
-                    while (dogs.hasNextEntity()) {
-                        //get a reference to the dog
-                        var dog = dogs.getNextEntity();
-                        console.warn(dog);
-                        //notice('removing dog ' + dogname + ' from database');
-                        if(dog === null) continue;
-                        dog.destroy(function(err, data) {
-                            assert(!err, dog.get('name') + " not removed: " + 
data.error_description);
-                            if (!dogs.hasNextEntity()) {
-                                done();
-                            }
-                        });
-                    }
-                    //} else {
-                    done();
-                    //}
-                }
-            });
-        });
-        it('should CREATE a new dogs collection', function(done) {
-            var options = {
-                client:client,
-                type: 'dogs',
-                qs: {
-                    ql: 'order by index'
-                }
-            }
-            dogs=new Usergrid.Collection(options);
-            assert(dogs!==undefined&&dogs!==null, "could not create dogs 
collection");
-            done();
-        });
-        it('should CREATE dogs in the collection', function(done) {
-            this.timeout(10000);
-            var totalDogs = 30;
-            Array.apply(0, Array(totalDogs)).forEach(function(x, y) {
-                var dogNum = y + 1;
-                var options = {
-                    type: 'dogs',
-                    name: 'dog' + dogNum,
-                    index: y
-                }
-                dogs.addEntity(options, function(err, dog) {
-                    assert(!err, "dog not created");
-                    if (dogNum === totalDogs) {
-                        done();
-                    }
-                });
-            })
-        });
-        it('should RETRIEVE dogs from the collection', function(done) {
-            while (dogs.hasNextEntity()) {
-                //get a reference to the dog
-                dog = dogs.getNextEntity();
-            }
-            if (done) done();
-        });
-        it('should RETRIEVE the next page of dogs from the collection', 
function(done) {
-            if (dogs.hasNextPage()) {
-                dogs.getNextPage(function(err) {
-                    loop(done);
-                });
-            } else {
-                done();
-            }
-        });
-        it('should RETRIEVE the previous page of dogs from the collection', 
function(done) {
-            if (dogs.hasPreviousPage()) {
-                dogs.getPreviousPage(function(err) {
-                    loop(done);
-                });
-            } else {
-                done();
-            }
-        });
-        it('should RETRIEVE an entity by UUID.', function(done) {
-            var uuid=dogs.getFirstEntity().get("uuid")
-            dogs.getEntityByUUID(uuid,function(err, data){
-                assert(!err, "getEntityByUUID returned an error.");
-                assert(uuid==data.get("uuid"), "We didn't get the dog we asked 
for.");
-                done();
-            })
-        });
-        it('should RETRIEVE the first entity from the collection', function() {
-            assert(dogs.getFirstEntity(), "Could not retrieve the first dog");
-        });
-        it('should RETRIEVE the last entity from the collection', function() {
-            assert(dogs.getLastEntity(), "Could not retrieve the last dog");
-        });
-        it('should reset the paging', function() {
-            dogs.resetPaging();
-            assert(!dogs.hasPreviousPage(), "Could not resetPaging");
-        });
-        it('should reset the entity pointer', function() {
-            dogs.resetEntityPointer();
-            assert(!dogs.hasPrevEntity(), "Could not reset the pointer");
-            assert(dogs.hasNextEntity(), "Dog has no more entities");
-            assert(dogs.getNextEntity(), "Could not retrieve the next dog");
-        });
-        it('should RETRIEVE the next entity from the collection', function() {
-            assert(dogs.hasNextEntity(), "Dog has no more entities");
-            assert(dogs.getNextEntity(), "Could not retrieve the next dog");
-        });
-        it('should RETRIEVE the previous entity from the collection', 
function() {
-            assert(dogs.getNextEntity(), "Could not retrieve the next dog");
-            assert(dogs.hasPrevEntity(), "Dogs has no previous entities");
-            assert(dogs.getPrevEntity(), "Could not retrieve the previous 
dog");
-        });
-        it('should DELETE the entities from the collection', function(done) {
-            this.timeout(20000);
-            function remove(){
-                if(dogs.hasNextEntity()){
-                    dogs.destroyEntity(dogs.getNextEntity(),function(err, 
data){
-                        assert(!err, "Could not destroy dog.");
-                        remove();
-                    })
-                }else if(dogs.hasNextPage()){
-                    dogs.getNextPage();
-                    remove();
-                }else{
-                    done();
-                }
-            }
-            remove();
-        });
-    });
-    describe('Usergrid Counters', function() {
-        var client = getClient();
-        var counter;
-        var MINUTE = 1000 * 60;
-        var HOUR = MINUTE * 60;
-        var time = Date.now() - HOUR;
-
-        it('should CREATE a counter', function(done) {
-            counter = new Usergrid.Counter({
-                client: client,
-                data: {
-                    category: 'mocha_test',
-                    timestamp: time,
-                    name: "test",
-                    counters: {
-                        test: 0,
-                        test_counter: 0
-                    }
-                }
-            });
-            assert(counter, "Counter not created");
-            done();
-        });
-        it('should save a counter', function(done) {
-            counter.save(function(err, data) {
-                assert(!err, data.error_description);
-                done();
-            });
-        });
-        it('should reset a counter', function(done) {
-            time += MINUTE * 10
-            counter.set("timestamp", time);
-            counter.reset({
-                name: 'test'
-            }, function(err, data) {
-                assert(!err, data.error_description);
-                done();
-            });
-        });
-        it("should increment 'test' counter", function(done) {
-            time += MINUTE * 10
-            counter.set("timestamp", time);
-            counter.increment({
-                name: 'test',
-                value: 1
-            }, function(err, data) {
-                assert(!err, data.error_description);
-                done();
-            });
-        });
-        it("should increment 'test_counter' counter by 4", function(done) {
-            time += MINUTE * 10
-            counter.set("timestamp", time);
-            counter.increment({
-                name: 'test_counter',
-                value: 4
-            }, function(err, data) {
-                assert(!err, data.error_description);
-                done();
-            });
-        });
-        it("should decrement 'test' counter", function(done) {
-            time += MINUTE * 10
-            counter.set("timestamp", time);
-            counter.decrement({
-                name: 'test',
-                value: 1
-            }, function(err, data) {
-                assert(!err, data.error_description);
-                done();
-            });
-        });
-        it('should fetch the counter', function(done) {
-            counter.fetch(function(err, data) {
-                assert(!err, data.error_description);
-                done();
-            });
-        });
-        it('should fetch counter data', function(done) {
-            counter.getData({
-                resolution: 'all',
-                counters: ['test', 'test_counter']
-            }, function(err, data) {
-                assert(!err, data.error_description);
-                done();
-            });
-        });
-    });
-    describe('Usergrid Folders and Assets', function() {
-        var client = getClient();
-        var folder,
-            asset,
-            user,
-            image_type,
-            image_url = 'http://placekitten.com/160/90',
-        // 
image_url="https://api.usergrid.com/yourorgname/sandbox/assets/a4025e7a-8ab1-11e3-b56c-5d3c6e4ca93f/data";,
-            test_image,
-            filesystem,
-            file_url,
-            filename = "kitten.jpg",
-            foldername = "kittens",
-            folderpath = '/test/' + Math.round(10000 * Math.random()),
-            filepath = [folderpath, foldername, filename].join('/');
-        before(function(done) {
-            var req = new XMLHttpRequest();
-            req.open('GET', image_url, true);
-            req.responseType = 'blob';
-            req.onload = function() {
-                test_image = req.response;
-                image_type = req.getResponseHeader('Content-Type');
-                done();
-            }
-            req.onerror = function(err) {
-                console.error(err);
-                done();
-            };
-            req.send(null);
-        });
-        before(function(done) {
-            this.timeout(10000);
-            client.request({
-                method: 'GET',
-                endpoint: 'Assets'
-            }, function(err, data) {
-                var assets = [];
-                if(data && data.entities && data.entities.length){
-                    assets.concat(data.entities.filter(function(asset) {
-                        return asset.name === filename
-                    }));
-                }
-                if (assets.length) {
-                    assets.forEach(function(asset) {
-                        client.request({
-                            method: 'DELETE',
-                            endpoint: 'assets/' + asset.uuid
-                        });
-                    });
-                    done();
-                } else {
-                    done();
-                }
-            });
-        });
-        before(function(done) {
-            this.timeout(10000);
-            client.request({
-                method: 'GET',
-                endpoint: 'folders'
-            }, function(err, data) {
-                var folders = [];
-                if(data && data.entities && data.entities.length){
-                    folders.concat(data.entities.filter(function(folder) {
-                        return folder.name === foldername
-                    }));
-                }
-                if (folders.length) {
-                    folders.forEach(function(folder) {
-                        client.request({
-                            method: 'DELETE',
-                            endpoint: 'folders/' + folder.uuid
-                        });
-                    });
-                    done();
-                } else {
-                    done();
-                }
-            });
-        });
-        before(function(done) {
-            this.timeout(10000);
-            user = new Usergrid.Entity({
-                client: client,
-                data: {
-                    type: 'users',
-                    username: 'assetuser'
-                }
-            });
-            user.fetch(function(err, data) {
-                if (err) {
-                    user.save(function() {
-                        done();
-                    })
-                } else {
-                    done();
-                }
-            })
-        });
-        it('should CREATE a folder', function(done) {
-            folder = new Usergrid.Folder({
-                client: client,
-                data: {
-                    name: foldername,
-                    owner: user.get("uuid"),
-                    path: folderpath
-                }
-            }, function(err, response, folder) {
-                assert(!err, err);
-                done();
-            });
-        });
-        it('should CREATE an asset', function(done) {
-            asset = new Usergrid.Asset({
-                client: client,
-                data: {
-                    name: filename,
-                    owner: user.get("uuid"),
-                    path: filepath
-                }
-            }, function(err, response, asset) {
-                if(err){
-                    assert(false, err);
-                }
-                done();
-            });
-        });
-        it('should RETRIEVE an asset', function(done) {
-            asset.fetch(function(err, response, entity){
-                if(err){
-                    assert(false, err);
-                }else{
-                    asset=entity;
-                }
-                done();
-            })
-        });
-        it('should upload asset data', function(done) {
-            this.timeout(5000);
-            asset.upload(test_image, function(err, response, asset) {
-                if(err){
-                    assert(false, err.error_description);
-                }
-                done();
-            });
-        });
-        it('should retrieve asset data', function(done) {
-            this.timeout(5000);
-            asset.download(function(err, response, asset) {
-                if(err){
-                    assert(false, err.error_description);
-                }
-                assert(asset.get('content-type') == test_image.type, "MIME 
types don't match");
-                assert(asset.get('size') == test_image.size, "sizes don't 
match");
-                done();
-            });
-        });
-        it('should add the asset to a folder', function(done) {
-            folder.addAsset({
-                asset: asset
-            }, function(err, data) {
-                if(err){
-                    assert(false, err.error_description);
-                }
-                done();
-            })
-        });
-        it('should list the assets from a folder', function(done) {
-            folder.getAssets(function(err, assets) {
-                if(err){
-                    assert(false, err.error_description);
-                }
-                done();
-            })
-        });
-        it('should remove the asset from a folder', function(done) {
-            folder.removeAsset({
-                asset: asset
-            }, function(err, data) {
-                if(err){
-                    assert(false, err.error_description);
-                }
-                done();
-            })
-        });
-        after(function(done) {
-            asset.destroy(function(err, data) {
-                if(err){
-                    assert(false, err.error_description);
-                }
-                done();
-            })
-        });
-        after(function(done) {
-            folder.destroy(function(err, data) {
-                if(err){
-                    assert(false, err.error_description);
-                }
-                done();
-            })
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/tests/qunit/apigee_test.html
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/tests/qunit/apigee_test.html 
b/sdks/html5-javascript/tests/qunit/apigee_test.html
deleted file mode 100644
index 2dae960..0000000
--- a/sdks/html5-javascript/tests/qunit/apigee_test.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-  
-  http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <title>QUnit Example</title>
-  <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.12.0.css";>
-</head>
-<body>
-  <div id="qunit"></div>
-  <div id="qunit-fixture"></div>
-  <script src="http://code.jquery.com/qunit/qunit-1.12.0.js";></script>
-  <script src="tests.js"></script>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fa590f5c/sdks/html5-javascript/tests/qunit/tests.js
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/tests/qunit/tests.js 
b/sdks/html5-javascript/tests/qunit/tests.js
deleted file mode 100644
index 1d58b00..0000000
--- a/sdks/html5-javascript/tests/qunit/tests.js
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License.  You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-test( "hello test", function() {
-  ok( 1 == "1", "Passed!" );
-});

Reply via email to