Sha256: c46955a6afbcb97ec5986b89825b32568f33033d6b765d4f3b50175811003735

Contents?: true

Size: 1.75 KB

Versions: 2

Compression:

Stored size: 1.75 KB

Contents

require File.dirname(__FILE__) + '/../test_helper'
require File.dirname(__FILE__) + '/../../lib/provisional/scm/unfuddle_svn'

class UnfuddleSvnTest < Test::Unit::TestCase
  def setup
    @scm = Provisional::SCM::UnfuddleSvn.new(
    {
      'name' => 'name',
      'template_path' => 'template_path',
      'domain' => 'domain',
      'id' => 1,
      'username' => 'username',
      'password' => 'password'
    }
    )
  end

  def test_init
    request_stub = stub()
    request_stub.expects(:basic_auth).with('username', 'password')
    request_stub.expects(:body=)
    response_stub = stub(:code => '201')
    http_stub = stub()
    http_stub.expects(:request).with(request_stub).returns(response_stub, nil)
    
    Net::HTTP::Post.expects(:new).with('/api/v1/repositories.xml', 'Content-Type' => 'application/xml').returns(request_stub)
    Net::HTTP.expects(:new).with("domain.unfuddle.com", 80).returns(http_stub)

    @scm.init
  end

  def test_init_should_raise_RuntimeError_if_unfuddle_api_call_fails
    request_stub = stub()
    request_stub.expects(:basic_auth).with('username', 'password')
    request_stub.expects(:body=)
    response_stub = stub(:code => '500')
    http_stub = stub()
    http_stub.expects(:request).with(request_stub).returns(response_stub, nil)
    
    Net::HTTP::Post.expects(:new).with('/api/v1/repositories.xml', 'Content-Type' => 'application/xml').returns(request_stub)
    Net::HTTP.expects(:new).with("domain.unfuddle.com", 80).returns(http_stub)

    assert_raise RuntimeError do
      @scm.init
    end
  end
  
  def test_init_should_raise_RuntimeError_if_any_step_raises_any_exception
    Net::HTTP.expects(:new).with("domain.unfuddle.com", 80).raises(Net::HTTPNotFound)
  
    assert_raise RuntimeError do
      @scm.init
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vigetlabs-provisional-2.1.1 test/unit/unfuddle_svn_test.rb
vigetlabs-provisional-2.1.2 test/unit/unfuddle_svn_test.rb