dotfiles/.vscode/extensions/codezombiech.gitignore-0.2.0/node_modules/github/api/v3.0.0/gitdataTest.js
Cyryl Płotnicki 280bcab25f VSCode update
2016-09-24 13:12:34 +02:00

480 lines
18 KiB
JavaScript

/*
* Copyright 2012 Cloud9 IDE, Inc.
*
* This product includes software developed by
* Cloud9 IDE, Inc (http://c9.io).
*
* Author: Mike de Boer <info@mikedeboer.nl>
*/
"use strict";
var Assert = require("assert");
var Client = require("./../../index");
describe("[gitdata]", function() {
var client;
var token = "c286e38330e15246a640c2cf32a45ea45d93b2ba";
beforeEach(function() {
client = new Client({
version: "3.0.0"
});
client.authenticate({
type: "oauth",
token: token
});
});
it("should successfully execute GET /repos/:user/:repo/git/blobs/:sha (getBlob)", function(next) {
// found an object after executing:
// git rev-list --all | xargs -l1 git diff-tree -r -c -M -C --no-commit-id | awk '{print $3}'
client.gitdata.getBlob(
{
user: "mikedeboertest",
repo: "node_chat",
sha: "8433b682c95edf3fd81f5ee217dc9c874db35e4b"
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.sha, "8433b682c95edf3fd81f5ee217dc9c874db35e4b");
Assert.equal(res.size, 2654);
Assert.equal(res.encoding, "base64");
next();
}
);
});
it("should successfully execute POST /repos/:user/:repo/git/blobs (createBlob)", function(next) {
client.gitdata.createBlob(
{
user: "mikedeboertest",
repo: "node_chat",
content: "test",
encoding: "utf-8"
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(typeof res.sha, "string");
var sha = res.sha;
client.gitdata.getBlob(
{
user: "mikedeboertest",
repo: "node_chat",
sha: sha
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.sha, sha);
Assert.equal(res.size, 4);
Assert.equal(res.encoding, "base64");
next();
}
);
}
);
});
it("should successfully execute GET /repos/:user/:repo/git/commits/:sha (getCommit)", function(next) {
client.gitdata.getCommit(
{
user: "mikedeboertest",
repo: "node_chat",
sha: "17e0734295ffd8174f91f04ba8e8f8e51954b793"
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.author.date, "2012-10-05T08:05:31-07:00");
Assert.equal(res.author.name, "Mike de Boer");
Assert.equal(res.parents[0].sha, "221140b288a3c64949594c58420cb4ab289b0756");
Assert.equal(res.parents[1].sha, "d2836429f4ff7de033c8bc0d16d22d55f2ea39c3");
next();
}
);
});
it("should successfully execute POST /repos/:user/:repo/git/commits (createCommit)", function(next) {
// got valid tree reference by executing
// git cat-file -p HEAD
client.gitdata.createCommit(
{
user: "mikedeboertest",
repo: "node_chat",
message: "test",
tree: "8ce4393a319b60bc6179509e0c46dee83c179f9f",
parents: [],
author: {
name: "test-chef",
email: "test-chef@pasta-nirvana.it",
date: "2008-07-09T16:13:30+12:00"
},
committer: {
name: "test-minion",
email: "test-minion@pasta-nirvana.it",
date: "2008-07-09T16:13:30+12:00"
}
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.author.name, "test-chef");
Assert.equal(res.author.email, "test-chef@pasta-nirvana.it");
Assert.equal(res.committer.name, "test-minion");
Assert.equal(res.committer.email, "test-minion@pasta-nirvana.it");
Assert.equal(res.message, "test");
next();
}
);
});
it("should successfully execute GET /repos/:user/:repo/git/refs/:ref (getReference)", function(next) {
client.gitdata.getReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/master"
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.ref, "refs/heads/master");
Assert.equal(res.object.type, "commit");
Assert.equal(res.object.sha, "17e0734295ffd8174f91f04ba8e8f8e51954b793");
next();
}
);
});
it("should successfully execute GET /repos/:user/:repo/git/refs (getAllReferences)", function(next) {
client.gitdata.getAllReferences(
{
user: "mikedeboertest",
repo: "node_chat"
},
function(err, res) {
Assert.equal(err, null);
var ref = res[0];
Assert.equal(ref.ref, "refs/heads/master");
Assert.equal(ref.object.type, "commit");
Assert.equal(ref.object.sha, "17e0734295ffd8174f91f04ba8e8f8e51954b793");
next();
}
);
});
/*
DISABLED temporarily due to Internal Server Error from Github!
it("should successfully execute POST /repos/:user/:repo/git/refs (createReference)", function(next) {
client.gitdata.createReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/tagliatelle",
sha: "17e0734295ffd8174f91f04ba8e8f8e51954b793"
},
function(err, res) {
Assert.equal(err, null);
console.log(res);
// other assertions go here
client.gitdata.deleteReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/tagliatelle"
},
function(err, res) {
Assert.equal(err, null);
// other assertions go here
next();
}
);
}
);
});*/
it("should successfully execute PATCH /repos/:user/:repo/git/refs/:ref (updateReference)", function(next) {
client.gitdata.getReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/master"
},
function(err, res) {
Assert.equal(err, null);
var sha = res.object.sha;
// do `force=true` because we go backward in history, which yields a warning
// that it's not a reference that can be fast-forwarded to.
client.gitdata.updateReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/master",
sha: "221140b288a3c64949594c58420cb4ab289b0756",
force: true
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.ref, "refs/heads/master");
Assert.equal(res.object.type, "commit");
Assert.equal(res.object.sha, "221140b288a3c64949594c58420cb4ab289b0756");
client.gitdata.updateReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/master",
sha: sha,
force: false
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.ref, "refs/heads/master");
Assert.equal(res.object.type, "commit");
Assert.equal(res.object.sha, sha);
next();
}
);
}
);
}
);
});
/*
DISABLED temporarily due to Internal Server Error from Github!
it("should successfully execute DELETE /repos/:user/:repo/git/refs/:ref (deleteReference)", function(next) {
client.gitdata.createReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/tagliatelle",
sha: "17e0734295ffd8174f91f04ba8e8f8e51954b793"
},
function(err, res) {
Assert.equal(err, null);
console.log(res);
// other assertions go here
client.gitdata.deleteReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "heads/tagliatelle"
},
function(err, res) {
Assert.equal(err, null);
// other assertions go here
next();
}
);
}
);
});*/
it("should successfully execute GET /repos/:user/:repo/git/tags/:sha (getTag)", function(next) {
client.gitdata.createTag(
{
user: "mikedeboertest",
repo: "node_chat",
tag: "test-pasta",
message: "Grandma's secret sauce",
object: "17e0734295ffd8174f91f04ba8e8f8e51954b793",
type: "commit",
tagger: {
name: "test-chef",
email: "test-chef@pasta-nirvana.it",
date: "2008-07-09T16:13:30+12:00"
}
},
function(err, res) {
Assert.equal(err, null);
var sha = res.sha;
client.gitdata.getTag(
{
user: "mikedeboertest",
repo: "node_chat",
sha: sha
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.tag, "test-pasta");
Assert.equal(res.message, "Grandma's secret sauce");
Assert.equal(res.sha, sha);
Assert.equal(res.tagger.name, "test-chef");
Assert.equal(res.tagger.email, "test-chef@pasta-nirvana.it");
// other assertions go here
client.gitdata.deleteReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "tags/" + sha
},
function(err, res) {
//Assert.equal(err, null);
// NOTE: Github return 'Validation Failed' error codes back, which makes no sense to me.
// ask the guys what's up here...
Assert.equal(err.code, 422);
next();
}
);
}
);
}
);
});
it("should successfully execute POST /repos/:user/:repo/git/tags (createTag)", function(next) {
client.gitdata.createTag(
{
user: "mikedeboertest",
repo: "node_chat",
tag: "test-pasta",
message: "Grandma's secret sauce",
object: "17e0734295ffd8174f91f04ba8e8f8e51954b793",
type: "commit",
tagger: {
name: "test-chef",
email: "test-chef@pasta-nirvana.it",
date: "2008-07-09T16:13:30+12:00"
}
},
function(err, res) {
Assert.equal(err, null);
var sha = res.sha;
client.gitdata.getTag(
{
user: "mikedeboertest",
repo: "node_chat",
sha: sha
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.tag, "test-pasta");
Assert.equal(res.message, "Grandma's secret sauce");
Assert.equal(res.sha, sha);
Assert.equal(res.tagger.name, "test-chef");
Assert.equal(res.tagger.email, "test-chef@pasta-nirvana.it");
// other assertions go here
client.gitdata.deleteReference(
{
user: "mikedeboertest",
repo: "node_chat",
ref: "tags/" + sha
},
function(err, res) {
//Assert.equal(err, null);
// NOTE: Github return 'Validation Failed' error codes back, which makes no sense to me.
// ask the guys what's up here...
Assert.equal(err.code, 422);
next();
}
);
}
);
}
);
});
it("should successfully execute GET /repos/:user/:repo/git/trees/:sha (getTree)", function(next) {
client.gitdata.getTree(
{
user: "mikedeboertest",
repo: "node_chat",
sha: "8ce4393a319b60bc6179509e0c46dee83c179f9f",
recursive: false
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.tree[0].type, "blob");
Assert.equal(res.tree[0].path, "LICENSE-MIT");
Assert.equal(res.tree[0].sha, "f30a31de94635399f42fd05f91f6ed3ff2f013d6");
Assert.equal(res.tree[0].mode, "100644");
Assert.equal(res.tree[0].size, 1075);
client.gitdata.getTree(
{
user: "mikedeboertest",
repo: "node_chat",
sha: "8ce4393a319b60bc6179509e0c46dee83c179f9f",
recursive: true
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.tree[0].type, "blob");
Assert.equal(res.tree[0].path, "LICENSE-MIT");
Assert.equal(res.tree[0].sha, "f30a31de94635399f42fd05f91f6ed3ff2f013d6");
Assert.equal(res.tree[0].mode, "100644");
Assert.equal(res.tree[0].size, 1075);
next();
}
);
}
);
});
it("should successfully execute POST /repos/:user/:repo/git/trees (createTree)", function(next) {
client.gitdata.getTree(
{
user: "mikedeboertest",
repo: "node_chat",
sha: "8ce4393a319b60bc6179509e0c46dee83c179f9f",
recursive: false
},
function(err, res) {
Assert.equal(err, null);
var file = res.tree[0];
client.gitdata.createTree(
{
base_tree: "8ce4393a319b60bc6179509e0c46dee83c179f9f",
user: "mikedeboertest",
repo: "node_chat",
tree: [
{
path: file.path,
mode: "100755",
type: file.type,
sha: file.sha
}
]
},
function(err, res) {
Assert.equal(err, null);
var sha = res.sha;
client.gitdata.getTree(
{
user: "mikedeboertest",
repo: "node_chat",
sha: sha,
recursive: true
},
function(err, res) {
Assert.equal(err, null);
Assert.equal(res.tree[0].type, "blob");
Assert.equal(res.tree[0].path, "LICENSE-MIT");
Assert.equal(res.tree[0].sha, "f30a31de94635399f42fd05f91f6ed3ff2f013d6");
Assert.equal(res.tree[0].mode, "100755");
Assert.equal(res.tree[0].size, 1075);
next();
}
);
}
);
}
);
});
});