```ruby
describe Vagrant::Notify::Middleware do
  subject { described_class.new(@app, @env) }

  before do
    @app, @env = action_env(vagrant_env.vms.values.first.env)
  end

  it 'prints a hello world message when called' do
    @env[:ui].should_receive(:info).with("Hello from 'default'!")
    subject.call(@env)
  end
end
```

Add spec to ensure that the middleware gets added to the right place
user
```ruby
describe Vagrant::Notify::Middleware do
  let(:start_stack) { Vagrant.actions[:start].send(:stack) }

  subject { described_class.new(@app, @env) }

  before do
    @app, @env = action_env(vagrant_env.vms.values.first.env)
  end

  it 'gets added after provision middleware for start action' do
    provision_index  = start_stack.index([Vagrant::Action::VM::Provision, [], nil])
    middleware_index = start_stack.index([Vagrant::Notify::Middleware, [], nil])

    provision_index.should < middleware_index
  end

  it 'prints a hello world message when called' do
    @env[:ui].should_receive(:info).with("Hello from 'default'!")
    subject.call(@env)
  end
end
```
assistant