deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Lutterkort <lut...@redhat.com>
Subject Re: [PATCH core 5/5] Core: Initial tests for deltacloudd launcher
Date Tue, 18 Dec 2012 23:15:18 GMT
On Thu, 2012-12-13 at 12:45 +0100, mfojtik@redhat.com wrote:
> From: Michal Fojtik <mfojtik@redhat.com>
> 
> - Starts a Deltacloud APi instance on port 3011
> - Checks if DC is running (respond to HTTP requests)
> - Checks if DC could be started with multiple frontends

Unfortunately, I get 3 failures with this test; seems that killing the
server isn't always successful. Here's what fails:

> diff --git a/server/tests/deltacloud/launcher_test.rb b/server/tests/deltacloud/launcher_test.rb
> new file mode 100644
> index 0000000..3c9c0b1
> --- /dev/null
> +++ b/server/tests/deltacloud/launcher_test.rb
> @@ -0,0 +1,101 @@

> +describe "deltacloudd" do
> +
> +  before do
> +    @pids ||= []
> +  end
> +
> +  it 'starts the deltacloud server gracefully' do
> +    pid = Process.fork
> +    if pid.nil? then
> +      Dir.chdir(File.join(File.dirname(__FILE__), '..', '..'))
> +      exec("./bin/deltacloudd -i mock -p 3011")
> +    else
> +      Process.detach(pid) && @pids << pid
> +      wait_for_port_open(3011).must_equal true
> +      RestClient.get('http://localhost:3011/api').code.must_equal 200
> +      kill_process(pid)
> +      is_port_open?('127.0.0.1', 3011).must_equal false

This returns true.

> +    end
> +  end
> +
> +  it 'starts the deltacloud server gracefully with multiple frontends' do
> +    pid = Process.fork
> +    if pid.nil? then
> +      Dir.chdir(File.join(File.dirname(__FILE__), '..', '..'))
> +      exec("./bin/deltacloudd -i mock -f deltacloud,cimi,ec2 -p 3011")
> +    else
> +      Process.detach(pid) && @pids << pid
> +      wait_for_port_open(3011).must_equal true
> +      RestClient.get('http://localhost:3011/api').code.must_equal 200
> +      RestClient.get('http://localhost:3011/cimi/cloudEntryPoint').code.must_equal 200
> +      kill_process(pid)
> +      is_port_open?('127.0.0.1', 3011).must_equal false

Returns true

> +    end
> +  end
> +
> +  it 'starts the deltacloud server gracefully when using webrick' do
> +    pid = Process.fork
> +    if pid.nil? then
> +      Dir.chdir(File.join(File.dirname(__FILE__), '..', '..'))
> +      exec("./bin/deltacloudd -w -i mock -p 3011")
> +    else
> +      Process.detach(pid) && @pids << pid
> +      wait_for_port_open(3011).must_equal true
> +      RestClient.get('http://localhost:3011/api').code.must_equal 200
> +      kill_process(pid)
> +      is_port_open?('127.0.0.1', 3011).must_equal false

Returns true

David



Mime
View raw message