closeheat
Version:
Static Website Hosting with CMS without touching your code.
41 lines (30 loc) • 1.21 kB
text/coffeescript
path = require 'path'
fs = require 'fs'
rimraf = require 'rimraf'
Promise = require 'bluebird'
Git = require('git-wrapper')
TestConfig = require('./test_config')
module.exports =
class TestGit
: ->
Promise.promisify(new Git().exec)
: ->
rimraf.sync(TestConfig.websiteDir())
fs.mkdirSync(TestConfig.websiteDir())
("-C '#{TestConfig.websiteDir()}' init").then()
: =>
("-C '#{TestConfig.websiteDir()}' config --local user.email 'joseph@kittinger.com'").then =>
("-C '#{TestConfig.websiteDir()}' config --local user.name 'Joseph Kittinger'")
: =>
fs.writeFileSync(path.join(TestConfig.websiteDir(), 'test-file.txt'), 'Testing')
: =>
"-C '#{TestConfig.websiteDir()}' add ."
: =>
"-C '#{TestConfig.websiteDir()}' commit -m 'Testing commit message'"
: (args...) =>
new Promise (resolve, reject) =>
new Git().exec args..., (err, resp) ->
reject(err) if err
resolve(resp)
: (name = 'origin', url = 'git@github.com:example-org/example-repo.git') =>
"-C '#{TestConfig.websiteDir()}' remote", ['add', name, url]