Merge pull request #24 from RobertWalsh/master

Fixing codacy issues.
diff --git a/examples/api-proxy/app.js b/examples/api-proxy/app.js
index 76b3401..e0b85ec 100644
--- a/examples/api-proxy/app.js
+++ b/examples/api-proxy/app.js
@@ -1,8 +1,6 @@
 var express = require('express'),
     app = express(),
-    Usergrid = require('usergrid'),
-    async = require('async'),
-    chance = require('chance')
+    Usergrid = require('usergrid')
 
 Usergrid.init()
 
diff --git a/helpers/client.js b/helpers/client.js
index ccea0d5..a9273de 100644
--- a/helpers/client.js
+++ b/helpers/client.js
@@ -15,7 +15,6 @@
 'use strict'
 
 var Usergrid = require('../usergrid'),
-    helpers = require('../helpers'),
     _ = require('lodash')
 
 
diff --git a/helpers/config.js b/helpers/config.js
index 860d9e2..ee6e0b6 100644
--- a/helpers/config.js
+++ b/helpers/config.js
@@ -34,7 +34,7 @@
         file.walkSync(appRoot, function(start, dirs, names) {
             if (_.includes(names, "config.json") || _.includes(names, "usergrid.json")) {
                 var name = _.first(names.filter(function(name) {
-                    return name == "config.json" || name == "usergrid.json"
+                    return name === "config.json" || name === "usergrid.json"
                 }).sort().reverse())
                 var configPath = util.format("%s/%s", start, name)
                 module.exports = require(configPath)
diff --git a/lib/entity.js b/lib/entity.js
index ef83770..b1452a6 100644
--- a/lib/entity.js
+++ b/lib/entity.js
@@ -55,6 +55,12 @@
         writable: true
     })
 
+    Object.defineProperty(self, 'asset', {
+        enumerable: false,
+        configurable: true,
+        writable: true
+    })
+
     Object.defineProperty(self, 'isUser', {
         get: function() {
             return (self.type.toLowerCase() === 'user')
@@ -67,8 +73,6 @@
         }
     })
 
-    self.asset
-
     helpers.setReadOnly(self, ['uuid', 'name', 'type', 'created'])
 
     return self
diff --git a/lib/request.js b/lib/request.js
index ba3d573..77c88a5 100644
--- a/lib/request.js
+++ b/lib/request.js
@@ -20,7 +20,6 @@
     _ = require('lodash')
 
 var UsergridRequest = function(options) {
-    var self = this
     var client = helpers.client.validate(options.client)
     var callback = helpers.cb(helpers.args(arguments))
 
@@ -36,7 +35,7 @@
     var formData = helpers.build.formData(options)
     var body = ((formData !== undefined) ? undefined : options.body)
 
-    var req = request(uri, {
+    request(uri, {
         headers: helpers.build.headers(client, options),
         body: body,
         encoding: options.encoding || null,
diff --git a/lib/user.js b/lib/user.js
index fee89a1..90506b4 100644
--- a/lib/user.js
+++ b/lib/user.js
@@ -117,7 +117,7 @@
             qs: (!revokeAll) ? {
                 token: self.auth.token
             } : undefined
-        }, function(error, usergridResponse, body) {
+        }, function(error, usergridResponse) {
             self.auth.destroy()
             callback(error, usergridResponse, usergridResponse.ok)
         })
@@ -147,7 +147,7 @@
             path: util.format('users/%s/password', helpers.user.uniqueId(self)),
             method: 'PUT',
             body: body
-        }, function(error, usergridResponse, body) {
+        }, function(error, usergridResponse) {
             callback(error, usergridResponse, usergridResponse.ok)
         })
     }
diff --git a/tests/lib/asset.test.js b/tests/lib/asset.test.js
index 2220d07..b97ac70 100644
--- a/tests/lib/asset.test.js
+++ b/tests/lib/asset.test.js
@@ -1,14 +1,11 @@
 'use strict'
 
-var should = require('should'),
-    config = require('../../helpers').config,
+var config = require('../../helpers').config,
     UsergridEntity = require('../../lib/entity'),
     UsergridAsset = require('../../lib/asset'),
     UsergridClient = require('../../lib/client'),
     util = require('util'),
-    request = require('request'),
-    fs = require('fs'),
-    _ = require('lodash')
+    fs = require('fs')
 
 var _slow = 6000,
     _timeout = 12000,
@@ -103,7 +100,7 @@
     it('should upload a binary asset to an existing entity', function(done) {
         var entity = new UsergridEntity({
             type: config.test.collection,
-            name: "AssetTestPUT",
+            name: "AssetTestPUT"
         })
         var asset = new UsergridAsset(filename, file)
         client.PUT(entity, function(err, entityResponse, createdEntity) {
diff --git a/tests/lib/client.auth.test.js b/tests/lib/client.auth.test.js
index ab9f0d0..67567de 100644
--- a/tests/lib/client.auth.test.js
+++ b/tests/lib/client.auth.test.js
@@ -8,11 +8,9 @@
     UsergridAuth = require('../../lib/auth'),
     UsergridAppAuth = require('../../lib/appAuth'),
     UsergridUserAuth = require('../../lib/userAuth'),
-    UsergridUser = require('../../lib/user'),
-    _ = require('lodash')
+    UsergridUser = require('../../lib/user')
 
-var _uuid,
-    _slow = 500,
+var _slow = 500,
     _timeout = 4000
 
 describe('authMode', function() {
@@ -20,12 +18,11 @@
     this.slow(_slow)
     this.timeout(_timeout)
 
-    var response, token, client = new UsergridClient()
+    var token, client = new UsergridClient()
     before(function(done) {
         // authenticate app and remove sandbox permissions
         client.setAppAuth(config.clientId, config.clientSecret)
         client.authenticateApp(function(e, r, t) {
-            response = r
             token = t
             client.usingAuth(client.appAuth).DELETE('roles/guest/permissions', {
                 permission: "get,post,put,delete:/**"
@@ -62,7 +59,7 @@
         client.authMode = UsergridAuth.AUTH_MODE_NONE
         client.usingAuth(client.appAuth).POST('roles/guest/permissions', {
             permission: "get,post,put,delete:/**"
-        }, function(error, usergridResponse) {
+        }, function() {
             done()
         })
     })
@@ -238,7 +235,7 @@
             username: config.test.username,
             password: config.test.password,
             email: email
-        }, false, function(err, r, t) {
+        }, false, function() {
             should(noCurrentUserClient.currentUser).be.undefined()
             done()
         })
@@ -248,9 +245,9 @@
         var newClient = new UsergridClient()
         var ttlInMilliseconds = 500000
         var userAuth = new UsergridUserAuth(config.test.username, config.test.password, ttlInMilliseconds)
-        client.authenticateUser(userAuth, function(err, usergridResponse, token) {
+        newClient.authenticateUser(userAuth, function(err, usergridResponse, token) {
             usergridResponse.ok.should.be.true()
-            client.currentUser.auth.token.should.equal(token)
+            newClient.currentUser.auth.token.should.equal(token)
             usergridResponse.body.expires_in.should.equal(ttlInMilliseconds / 1000)
             done()
         })
diff --git a/tests/lib/client.connections.test.js b/tests/lib/client.connections.test.js
index 98dcc68..22ed45f 100644
--- a/tests/lib/client.connections.test.js
+++ b/tests/lib/client.connections.test.js
@@ -4,12 +4,9 @@
     urljoin = require('url-join'),
     config = require('../../helpers').config,
     UsergridClient = require('../../lib/client'),
-    UsergridEntity = require('../../lib/entity'),
-    UsergridQuery = require('../../lib/query'),
-    _ = require('lodash')
+    UsergridQuery = require('../../lib/query')
 
-var _uuid,
-    _slow = 500,
+var _slow = 500,
     _timeout = 4000
 
 describe('connect()', function() {
diff --git a/tests/lib/client.init.test.js b/tests/lib/client.init.test.js
index f1572d4..01702bd 100644
--- a/tests/lib/client.init.test.js
+++ b/tests/lib/client.init.test.js
@@ -1,10 +1,8 @@
 'use strict'
 
 var should = require('should'),
-    urljoin = require('url-join'),
     config = require('../../helpers').config,
-    UsergridClient = require('../../lib/client'),
-    _ = require('lodash')
+    UsergridClient = require('../../lib/client')
 
 describe('initialization', function() {
     it('should fail to initialize without an orgId and appId', function() {
diff --git a/tests/lib/client.rest.test.js b/tests/lib/client.rest.test.js
index 61d796b..017073e 100644
--- a/tests/lib/client.rest.test.js
+++ b/tests/lib/client.rest.test.js
@@ -1,7 +1,6 @@
 'use strict'
 
-var should = require('should'),
-    config = require('../../helpers').config,
+var config = require('../../helpers').config,
     chance = new require('chance').Chance(),
     UsergridClient = require('../../lib/client'),
     UsergridEntity = require('../../lib/entity'),
diff --git a/tests/lib/entity.test.js b/tests/lib/entity.test.js
index c5018c8..8152f23 100644
--- a/tests/lib/entity.test.js
+++ b/tests/lib/entity.test.js
@@ -8,14 +8,12 @@
     UsergridQuery = require('../../lib/query'),
     UsergridAuth = require('../../lib/auth'),
     UsergridAsset = require('../../lib/asset'),
-    fs = require('fs'),
-    _ = require('lodash')
+    fs = require('fs')
 
 var _slow = 1500,
     _timeout = 4000,
     filename = 'old_man',
     file = __dirname + '/image.jpg',
-    testFile = __dirname + '/image_test.jpg',
     expectedContentLength = 109055,
     assetEntity = new UsergridEntity({
         type: config.test.collection,
@@ -297,7 +295,7 @@
             var entity = new UsergridEntity(getResponse.first)
             var modified = entity.modified
             getResponse.first.putProperty('reloadTest', now)
-            client.PUT(getResponse.first, function(err, putResponse) {
+            client.PUT(getResponse.first, function() {
                 entity.reload(client, function() {
                     client.isSharedInstance.should.be.false()
                     entity.reloadTest.should.equal(now)
@@ -351,7 +349,7 @@
     })
 })
 
-describe('attachAsset()', function(done) {
+describe('attachAsset()', function() {
 
     var asset = new UsergridAsset(filename, file),
         entity = new UsergridEntity({
@@ -372,7 +370,7 @@
     })
 })
 
-describe('uploadAsset()', function(done) {
+describe('uploadAsset()', function() {
 
     this.slow(_slow)
     this.timeout(_timeout)
@@ -398,7 +396,7 @@
     })
 })
 
-describe('downloadAsset()', function(done) {
+describe('downloadAsset()', function() {
 
     this.slow(_slow)
     this.timeout(_timeout)
diff --git a/tests/lib/query.test.js b/tests/lib/query.test.js
index adbfab2..e92c34d 100644
--- a/tests/lib/query.test.js
+++ b/tests/lib/query.test.js
@@ -1,7 +1,6 @@
 'use strict'
 
-var should = require('should'),
-    UsergridQuery = require('../../lib/query')
+var UsergridQuery = require('../../lib/query')
 
 describe('_type', function() {
     it('_type should equal "cats" when passing "type" as a parameter to UsergridQuery', function() {
diff --git a/tests/lib/response.test.js b/tests/lib/response.test.js
index 5341e5e..685d132 100644
--- a/tests/lib/response.test.js
+++ b/tests/lib/response.test.js
@@ -74,7 +74,7 @@
 
     it('response.users should be an array of UsergridUser objects', function(done) {
         client.setAppAuth(config.clientId, config.clientSecret, config.tokenTtl)
-        client.authenticateApp(function(err, response) {
+        client.authenticateApp(function(err) {
             should(err).be.undefined()
             client.GET('users', function(err, usergridResponse) {
                 usergridResponse.ok.should.be.true()
diff --git a/tests/lib/user.test.js b/tests/lib/user.test.js
index 28bb2c3..ef89a20 100644
--- a/tests/lib/user.test.js
+++ b/tests/lib/user.test.js
@@ -6,8 +6,7 @@
     config = require('../../helpers').config,
     UsergridClient = require('../../lib/client'),
     UsergridUser = require('../../lib/user'),
-    UsergridQuery = require('../../lib/query'),
-    _ = require('lodash')
+    UsergridQuery = require('../../lib/query')
 
 var _slow = 1500,
     _timeout = 4000,
@@ -26,7 +25,7 @@
     var query = new UsergridQuery('users').not.eq('username', config.test.username).limit(20)
     // clean up old user entities as the UsergridResponse tests rely on this collection containing less than 10 entities
     client.DELETE(query, function() {
-        _user1.create(client, function(err, usergridResponse, user) {
+        _user1.create(client, function() {
             done()
         })
     })
@@ -83,7 +82,7 @@
             user.should.have.property('activated').true()
             user.should.not.have.property('password')
                 // cleanup
-            user.remove(client, function(err, response) {
+            user.remove(client, function() {
                 done()
             })
         })
@@ -112,7 +111,7 @@
     this.timeout(_timeout)
 
     it(util.format("it should log out '%s' and destroy the saved UsergridUserAuth instance", _username1), function(done) {
-        _user1.logout(client, function(err, response, success) {
+        _user1.logout(client, function(err, response) {
             response.ok.should.be.true()
             response.body.action.should.equal("revoked user token")
             _user1.auth.isValid.should.be.false()
@@ -121,7 +120,7 @@
     })
 
     it("it should return an error when attempting to log out a user that does not have a valid token", function(done) {
-        _user1.logout(client, function(err, response, success) {
+        _user1.logout(client, function(err) {
             err.should.containDeep({
                 name: 'no_valid_token'
             })
@@ -133,8 +132,8 @@
 describe('logoutAllSessions()', function() {
     it(util.format("it should log out all tokens for the user '%s' destroy the saved UsergridUserAuth instance", _username1), function(done) {
         _user1.password = config.test.password
-        _user1.login(client, function(err, response, token) {
-            _user1.logoutAllSessions(client, function(err, response, success) {
+        _user1.login(client, function() {
+            _user1.logoutAllSessions(client, function(err, response) {
                 response.ok.should.be.true()
                 response.body.action.should.equal("revoked user tokens")
                 _user1.auth.isValid.should.be.false()
@@ -150,7 +149,7 @@
     this.timeout(_timeout)
 
     it(util.format("it should reset the password for '%s' by passing parameters", _username1), function(done) {
-        _user1.resetPassword(client, config.test.password, '2cool4u', function(err, response, success) {
+        _user1.resetPassword(client, config.test.password, '2cool4u', function(err, response) {
             response.ok.should.be.true()
             response.body.action.should.equal("set user password")
             done()
@@ -161,7 +160,7 @@
         _user1.resetPassword(client, {
             oldPassword: '2cool4u',
             newPassword: config.test.password
-        }, function(err, response, success) {
+        }, function(err, response) {
             response.ok.should.be.true()
             response.body.action.should.equal("set user password")
             done()
@@ -172,10 +171,10 @@
         _user1.resetPassword(client, {
             oldPassword: 'BADOLDPASSWORD',
             newPassword: config.test.password
-        }, function(err, response, success) {
+        }, function(err, response) {
             response.ok.should.be.false()
             err.name.should.equal('auth_invalid_username_or_password')
-            _user1.remove(client, function(err, response) {
+            _user1.remove(client, function() {
                 done()
             })
         })
diff --git a/tests/lib/usergrid.init.test.js b/tests/lib/usergrid.init.test.js
index b8b29c2..b8a9fd9 100644
--- a/tests/lib/usergrid.init.test.js
+++ b/tests/lib/usergrid.init.test.js
@@ -1,7 +1,6 @@
 'use strict'
 
-var should = require('should'),
-    config = require('../../helpers').config,
+var config = require('../../helpers').config,
     Usergrid = require('../../usergrid'),
     UsergridClient = require('../../lib/client'),
     util = require('util'),
diff --git a/tests/lib/usergrid.singleton.test.js b/tests/lib/usergrid.singleton.test.js
index 5a1a1ba..9f73bab 100644
--- a/tests/lib/usergrid.singleton.test.js
+++ b/tests/lib/usergrid.singleton.test.js
@@ -1,7 +1,6 @@
 'use strict'
 
-var should = require('should'),
-    Usergrid = require('../../usergrid')
+var Usergrid = require('../../usergrid')
 
 it('should be initialized when defined in another module', function(done) {
     Usergrid.should.have.property('isInitialized').which.is.true()
diff --git a/tests/lib/usergrid.teardown.test.js b/tests/lib/usergrid.teardown.test.js
index 2b44f69..d50ecd4 100644
--- a/tests/lib/usergrid.teardown.test.js
+++ b/tests/lib/usergrid.teardown.test.js
@@ -1,7 +1,6 @@
 'use strict'
 
-var should = require('should'),
-    Usergrid = require('../../usergrid'),
+var Usergrid = require('../../usergrid'),
     UsergridClient = require('../../lib/client')
 
 it('should be destroyed', function(done) {
diff --git a/tests/main.test.js b/tests/main.test.js
index 581411e..22bbedd 100644
--- a/tests/main.test.js
+++ b/tests/main.test.js
@@ -2,7 +2,6 @@
 
 // module config
 var should = require('should'),
-    validator = require('validator'),
     _ = require('lodash')
 
 _.mixin(require('lodash-uuid'))