コード例 #1
0
ファイル: test.js プロジェクト: andrewgu12/config
test('test list releases for org/repo with multi-page', t => {
  t.plan(13)

  const auth = { user: '******', token: 'authtoken' }
  const org = 'testorg'
  const repo = 'testrepo'
  const testData = [
    {
      response: [ { test3: 'data3' }, { test4: 'data4' } ],
      headers: { link: '<https://somenexturl>; rel="next"' }
    },
    {
      response: [ { test5: 'data5' }, { test6: 'data6' } ],
      headers: { link: '<https://somenexturl2>; rel="next"' }
    },
    []
  ]

  ghutils.makeServer(testData)
    .on('ready', () => {
      var result = testData[0].response.concat(testData[1].response)
      ghreleases.list(xtend(auth), org, repo, ghutils.verifyData(t, result))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('get', ghutils.verifyUrl(t, [
      'https://api.github.com/repos/' + org + '/' + repo + '/releases',
      'https://somenexturl',
      'https://somenexturl2'
    ]))
    .on('close', ghutils.verifyClose(t))
})
コード例 #2
0
ファイル: test.js プロジェクト: andrewgu12/config
test('create release', t => {
  t.plan(8)

  const auth = { user: '******', token: 'authtoken' }
  const org = 'testorg'
  const repo = 'testrepo'
  const testData = {
    tag_name: '1.2.3-test',
    name: 'Release name for 1.2.3-test',
    body: 'Body text of release goes here'
  }

  ghutils.makeServer(testData)
    .on('ready', () => {
      ghreleases.create(xtend(auth), org, repo, testData, ghutils.verifyData(t, testData))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('post', ghutils.verifyUrl(t, [
      'https://api.github.com/repos/' + org + '/' + repo + '/releases'
    ]))
    .on('post', (url, data) => {
      t.deepEqual(data, testData)
    })
    .on('close', ghutils.verifyClose(t))
})
コード例 #3
0
ファイル: test.js プロジェクト: andrewgu12/config
test('uploading assets', t => {
  t.plan(15)

  const auth = { user: '******', token: 'authtoken' }
  const org = 'testorg'
  const repo = 'testrepo'
  const testData = [
    { upload_url: 'https://upload_url/path{?name}' },
    { test5: 'data5' },
    { test6: 'data6' }
  ]
  const ref = 'tags/v1.3.0'
  const files = [ 'test.js', 'README.md' ]
  var postCount = 0

  ghutils.makeServer(testData)
    .on('ready', () => {
      ghreleases.uploadAssets(xtend(auth), org, repo, ref, files, ghutils.verifyData(t, [ testData[1], testData[2] ]))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('get', ghutils.verifyUrl(t, [
      'https://api.github.com/repos/' + org + '/' + repo + '/releases/' + ref
    ]))
    .on('post', (url, data, options) => {
      t.equal(url, 'https://upload_url/path?name=' + files[postCount++])
      t.equal(typeof data.pipe, 'function', 'should be a stream')
    })
    .on('close', ghutils.verifyClose(t))
})
コード例 #4
0
ファイル: test.js プロジェクト: rvagg/ghissues
test('test list issues', function (t) {
  t.plan(10)

  var auth     = { user: '******', token: 'authtoken' }
    , org      = 'testorg'
    , repo     = 'testrepo'
    , testData = [
          {
              response : [ { test1: 'data1' }, { test2: 'data2' } ]
            , headers  : { link: '<https://api.github.com/repos/testorg/testrepo/issues?page=2>; rel="next"' }
          }
        , { response: [] }
      ]
    , server

  server = ghutils.makeServer(testData)
    .on('ready', function () {
      ghissues.list(xtend(auth), org, repo, ghutils.verifyData(t, testData[0].response))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('get', ghutils.verifyUrl(t, [
        'https://api.github.com/repos/testorg/testrepo/issues?page=1'
      , 'https://api.github.com/repos/testorg/testrepo/issues?page=2'
    ]))
    .on('close'  , ghutils.verifyClose(t))
})
コード例 #5
0
ファイル: test.js プロジェクト: rvagg/ghissues
test('test create new comment', function (t) {
  t.plan(9)

  var auth     = { user: '******', token: 'authtoken' }
    , org      = 'testorg'
    , repo     = 'testrepo'
    , testData = 'comment body'
    , num      = 303
    , resp     = 'herpderp'
    , server

  server = ghutils.makeServer(resp)
    .on('ready', function () {
      ghissues.createComment(xtend(auth), org, repo, num, testData, ghutils.verifyData(t, resp))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('request', function (req) {
      req.pipe(bl(function (err, data) {
        t.notOk(err, 'no error')
        t.deepEqual(JSON.parse(data.toString()), {body:testData}, 'got expected post data')
      }))
    })
    .on('post', ghutils.verifyUrl(t, [
        'https://api.github.com/repos/testorg/testrepo/issues/' + num + '/comments'
    ]))
    .on('close'  , ghutils.verifyClose(t))
})
コード例 #6
0
ファイル: test.js プロジェクト: andrewgu12/config
test('get latest release', t => {
  t.plan(7)

  const auth = { user: '******', token: 'authtoken' }
  const org = 'testorg'
  const repo = 'testrepo'
  const testData = { test: 'data' }

  ghutils.makeServer(testData)
    .on('ready', () => {
      ghreleases.getLatest(xtend(auth), org, repo, ghutils.verifyData(t, testData))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('get', ghutils.verifyUrl(t, [
      'https://api.github.com/repos/' + org + '/' + repo + '/releases/latest'
    ]))
    .on('close', ghutils.verifyClose(t))
})
コード例 #7
0
ファイル: test.js プロジェクト: rvagg/ghissues
test('test list no issues', function (t) {
  t.plan(7)

  var auth     = { user: '******', token: 'authtoken' }
    , org      = 'testorg'
    , repo     = 'testrepo'
    , testData = [ [] ]
    , server

  server = ghutils.makeServer(testData)
    .on('ready', function () {
      ghissues.list(xtend(auth), org, repo, ghutils.verifyData(t, []))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('get', ghutils.verifyUrl(t, [
        'https://api.github.com/repos/testorg/testrepo/issues?page=1'
    ]))
    .on('close'  , ghutils.verifyClose(t))
})
コード例 #8
0
test('get release by tag', function (t) {
  t.plan(7)

  var auth     = { user: '******', token: 'authtoken' }
    , org      = 'testorg'
    , repo     = 'testrepo'
    , testData = { test: 'data' }
    , tag      = 'v1.0.0'
    , server

  server = ghutils.makeServer(testData)
    .on('ready', function () {
      ghreleases.getByTag(xtend(auth), org, repo, tag, ghutils.verifyData(t, testData))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('get', ghutils.verifyUrl(t, [
      'https://api.github.com/repos/' + org + '/' + repo + '/releases/tags/' + tag
    ]))
    .on('close'  , ghutils.verifyClose(t))
})
コード例 #9
0
ファイル: test.js プロジェクト: rvagg/ghissues
test('test get issue by id', function (t) {
  t.plan(7)

  var auth     = { user: '******', token: 'authtoken' }
    , org      = 'testorg'
    , repo     = 'testrepo'
    , num      = 101
    , testData = { id: num, issue: 'body' }
    , server

  server = ghutils.makeServer(testData)
    .on('ready', function () {
      ghissues.get(xtend(auth), org, repo, num, ghutils.verifyData(t, testData))
    })
    .on('request', ghutils.verifyRequest(t, auth))
    .on('get', ghutils.verifyUrl(t, [
        'https://api.github.com/repos/testorg/testrepo/issues/' + num
    ]))
    .on('close'  , ghutils.verifyClose(t))
})