Browse Source

Add more tests

Jake 10 years ago
parent
commit
5fc0f8b59a
3 changed files with 49 additions and 16 deletions
  1. 1 8
      modules/helpers.js
  2. 7 5
      modules/skins.js
  3. 41 3
      test/test.js

+ 1 - 8
modules/helpers.js

@@ -94,13 +94,6 @@ function store_cape(uuid, profile, details, callback) {
   });
 }
 
-function remove_from_array(arr, item) {
-  var i;
-  while((i = arr.indexOf(item)) !== -1) {
-    arr.splice(i, 1);
-  }
-}
-
 // downloads the images for +uuid+ while checking the cache
 // status based on +details+. +whichhash+ specifies which
 // image is more important, and should be called back on
@@ -208,7 +201,7 @@ exp.get_avatar = function(uuid, helm, size, callback) {
       var facepath = __dirname + "/../" + config.faces_dir + hash + ".png";
       var helmpath = __dirname + "/../" + config.helms_dir + hash + ".png";
       var filepath = facepath;
-      fs.exists(helmpath, function (exists) {
+      fs.exists(helmpath, function(exists) {
         if (helm && exists) {
           filepath = helmpath;
         }

+ 7 - 5
modules/skins.js

@@ -62,10 +62,10 @@ exp.extract_helm = function(uuid, facefile, buffer, outname, callback) {
               }
             });
           });
-        }
-      });
-    }
-  });
+}
+});
+}
+});
 };
 
 // resizes the image file +inname+ to +size+ by +size+ pixels
@@ -99,8 +99,10 @@ exp.open_skin = function(uuid, skinpath, callback) {
   fs.readFile(skinpath, function(err, buf) {
     if (err) {
       logging.error(uuid + " error while opening skin file: " + err);
+      callback(err, null)
+    } else {
+      callback(null, buf);
     }
-    callback(err, buf);
   });
 };
 

+ 41 - 3
test/test.js

@@ -14,7 +14,7 @@ var cleaner = require("../modules/cleaner")
 config.http_timeout *= 3;
 
 // no spam
-logging.log = function(){};
+logging.log = function() {};
 
 var uuids = fs.readFileSync("test/uuids.txt").toString().split(/\r?\n/);
 var names = fs.readFileSync("test/usernames.txt").toString().split(/\r?\n/);
@@ -24,7 +24,7 @@ var uuid = uuids[Math.round(Math.random() * (uuids.length - 1))];
 var name = names[Math.round(Math.random() * (names.length - 1))];
 
 function getRandomInt(min, max) {
-    return Math.floor(Math.random() * (max - min + 1)) + min;
+  return Math.floor(Math.random() * (max - min + 1)) + min;
 }
 
 var ids = [
@@ -165,6 +165,12 @@ describe("Crafatar", function() {
       });
       done();
     });
+    it("should not find the file", function(done) {
+      skins.open_skin("TestUUID", 'non/existant/path', function(err, img) {
+        assert.notStrictEqual(err, null);
+        done();
+      });
+    });
   });
 
   // we have to make sure that we test both a 32x64 and 64x64 skin
@@ -190,6 +196,39 @@ describe("Crafatar", function() {
         done();
       });
     });
+    it("should already exist", function(done) {
+      before(function() {
+        cache.get_redis().flushall();
+      });
+      helpers.get_cape("Dinnerbone", function(err, hash, img) {
+        assert.strictEqual(err, null);
+        done();
+      });
+    });
+    it("should not be found", function(done) {
+      helpers.get_cape("Jake0oo0", function(err, hash, img) {
+        assert.strictEqual(img, null);
+        done();
+      });
+    });
+  });
+
+  describe("Networking: Skin", function() {
+    it("should not fail", function(done) {
+      helpers.get_cape("Jake0oo0", function(err, hash, img) {
+        assert.strictEqual(err, null);
+        done();
+      });
+    });
+    it("should already exist", function(done) {
+      before(function() {
+        cache.get_redis().flushall();
+      });
+      helpers.get_cape("Jake0oo0", function(err, hash, img) {
+        assert.strictEqual(err, null);
+        done();
+      });
+    });
   });
 
 
@@ -213,7 +252,6 @@ describe("Crafatar", function() {
         });
         it("should be cached", function(done) {
           helpers.get_avatar(id, false, 160, function(err, status, image) {
-            console.log("STATUS: " + status)
             assert.strictEqual(status === 0 || status === 1, true);
             done();
           });