Skip to content

Commit

Permalink
chore: correct rspec 👮
Browse files Browse the repository at this point in the history
  • Loading branch information
bibendi committed Nov 3, 2021
1 parent 7667687 commit 49b776b
Show file tree
Hide file tree
Showing 11 changed files with 123 additions and 16 deletions.
31 changes: 29 additions & 2 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
require: standard
require:
- rubocop-rake
- rubocop-rspec
- standard

inherit_gem:
standard: config/base.yml
Expand All @@ -7,7 +10,31 @@ AllCops:
TargetRubyVersion: 2.5
Exclude:
- 'tmp/**/*'
DisplayCopNames: true
NewCops: enable

Style/FrozenStringLiteralComment:
Enabled: true

RSpec/AnyInstance:
Enabled: false

RSpec/ContextWording:
Enabled: false

RSpec/NamedSubject:
Enabled: false

RSpec/MultipleMemoizedHelpers:
Enabled: false

RSpec/ExampleLength:
Enabled: false

RSpec/NestedGroups:
Enabled: false

RSpec/MultipleExpectations:
Enabled: false

RSpec/VerifiedDoubles:
Enabled: false
10 changes: 10 additions & 0 deletions spec/lib/dip/commands/compose_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,47 @@

context "when execute without extra arguments" do
before { cli.start "compose run".shellsplit }

it { expected_exec("docker-compose", "run") }
end

context "when execute with arguments" do
before { cli.start "compose run --rm bash".shellsplit }

it { expected_exec("docker-compose", ["run", "--rm", "bash"]) }
end

context "when config contains project_name", config: true do
let(:config) { {compose: {project_name: "rocket"}} }

before { cli.start "compose run".shellsplit }

it { expected_exec("docker-compose", ["--project-name", "rocket", "run"]) }
end

context "when config contains project_name with env vars", config: true, env: true do
let(:config) { {compose: {project_name: "rocket-$RAILS_ENV"}} }
let(:env) { {"RAILS_ENV" => "test"} }

before { cli.start "compose run".shellsplit }

it { expected_exec("docker-compose", ["--project-name", "rocket-test", "run"]) }
end

context "when config contains project_directory", config: true do
let(:config) { {compose: {project_directory: "/foo/bar"}} }

before { cli.start "compose run".shellsplit }

it { expected_exec("docker-compose", ["--project-directory", "/foo/bar", "run"]) }
end

context "when config contains project_directory with env vars", config: true, env: true do
let(:config) { {compose: {project_directory: "/foo-$RAILS_ENV"}} }
let(:env) { {"RAILS_ENV" => "test"} }

before { cli.start "compose run".shellsplit }

it { expected_exec("docker-compose", ["--project-directory", "/foo-test", "run"]) }
end

Expand Down
18 changes: 18 additions & 0 deletions spec/lib/dip/commands/dns_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,57 +18,72 @@

context "when without arguments" do
before { cli.start "up".shellsplit }

it { expected_subprocess("docker", ["network", "create", "frontend"]) }
it { expected_subprocess("docker", cmd) }
end

context "when option `name` is present" do
let(:name) { "--name foo" }

before { cli.start "up --name foo".shellsplit }

it { expected_subprocess("docker", cmd) }
end

context "when option `socket` is present" do
let(:volume) { "--volume foo:/var/run/docker.sock:ro" }

before { cli.start "up --socket foo".shellsplit }

it { expected_subprocess("docker", cmd) }
end

context "when option `net` is present" do
let(:net) { "--net foo" }

before { cli.start "up --net foo".shellsplit }

it { expected_subprocess("docker", ["network", "create", "foo"]) }
it { expected_subprocess("docker", cmd) }
end

context "when option `publish` is present" do
let(:port) { "--publish foo" }

before { cli.start "up --publish foo".shellsplit }

it { expected_subprocess("docker", cmd) }
end

context "when option `image` is present" do
let(:image) { "foo" }

before { cli.start "up --image foo".shellsplit }

it { expected_subprocess("docker", cmd) }
end

context "when option `domain` is present" do
let(:domain) { "--domain=foo" }

before { cli.start "up --domain foo".shellsplit }

it { expected_subprocess("docker", cmd) }
end
end

describe Dip::Commands::DNS::Down do
context "when without arguments" do
before { cli.start "down".shellsplit }

it { expected_subprocess("docker", "stop dnsdock") }
it { expected_subprocess("docker", "rm -v dnsdock") }
end

context "when option `name` is present" do
before { cli.start "down --name foo".shellsplit }

it { expected_subprocess("docker", "stop foo") }
it { expected_subprocess("docker", "rm -v foo") }
end
Expand All @@ -77,18 +92,21 @@
describe Dip::Commands::DNS::IP do
context "when without arguments" do
before { cli.start "ip".shellsplit }

it do
expected_subprocess("docker", "inspect --format '{{ .NetworkSettings.Networks.frontend.IPAddress }}' dnsdock")
end
end

context "when option `name` is present" do
before { cli.start "ip --name foo".shellsplit }

it { expected_subprocess("docker", "inspect --format '{{ .NetworkSettings.Networks.frontend.IPAddress }}' foo") }
end

context "when option `net` is present" do
before { cli.start "ip --net foo".shellsplit }

it { expected_subprocess("docker", "inspect --format '{{ .NetworkSettings.Networks.foo.IPAddress }}' dnsdock") }
end
end
Expand Down
13 changes: 13 additions & 0 deletions spec/lib/dip/commands/nginx_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
describe Dip::Commands::Nginx::Up do
context "when without arguments" do
before { cli.start "up".shellsplit }

it { expected_subprocess("docker", ["network", "create", "frontend"]) }

it do
expected_subprocess(
"docker",
Expand All @@ -21,6 +23,7 @@

context "when option `name` is present" do
before { cli.start "up --name foo".shellsplit }

it {
expected_subprocess("docker",
"run --detach --volume /var/run/docker.sock:/tmp/docker.sock:ro --restart always --publish 80:80 --net frontend --name foo --label com.dnsdock.alias=docker bibendi/nginx-proxy:latest")
Expand All @@ -29,6 +32,7 @@

context "when option `socket` is present" do
before { cli.start "up --socket foo".shellsplit }

it {
expected_subprocess("docker",
"run --detach --volume foo:/tmp/docker.sock:ro --restart always --publish 80:80 --net frontend --name nginx --label com.dnsdock.alias=docker bibendi/nginx-proxy:latest")
Expand All @@ -37,7 +41,9 @@

context "when option `net` is present" do
before { cli.start "up --net foo".shellsplit }

it { expected_subprocess("docker", ["network", "create", "foo"]) }

it {
expected_subprocess("docker",
"run --detach --volume /var/run/docker.sock:/tmp/docker.sock:ro --restart always --publish 80:80 --net foo --name nginx --label com.dnsdock.alias=docker bibendi/nginx-proxy:latest")
Expand All @@ -46,13 +52,15 @@

context "when option `publish` is present" do
before { cli.start "up --publish 80:80".shellsplit }

it {
expected_subprocess("docker",
"run --detach --volume /var/run/docker.sock:/tmp/docker.sock:ro --restart always --publish 80:80 --net frontend --name nginx --label com.dnsdock.alias=docker bibendi/nginx-proxy:latest")
}

context "when more than one port given" do
before { cli.start "up --publish 80:80 443:443".shellsplit }

it {
expected_subprocess("docker",
"run --detach --volume /var/run/docker.sock:/tmp/docker.sock:ro --restart always --publish 80:80 --net frontend --name nginx --label com.dnsdock.alias=docker bibendi/nginx-proxy:latest")
Expand All @@ -62,6 +70,7 @@

context "when option `image` is present" do
before { cli.start "up --image foo".shellsplit }

it {
expected_subprocess("docker",
"run --detach --volume /var/run/docker.sock:/tmp/docker.sock:ro --restart always --publish 80:80 --net frontend --name nginx --label com.dnsdock.alias=docker foo")
Expand All @@ -70,6 +79,7 @@

context "when option `domain` is present" do
before { cli.start "up --domain foo".shellsplit }

it {
expected_subprocess("docker",
"run --detach --volume /var/run/docker.sock:/tmp/docker.sock:ro --restart always --publish 80:80 --net frontend --name nginx --label com.dnsdock.alias=foo bibendi/nginx-proxy:latest")
Expand All @@ -78,6 +88,7 @@

context "when option `certs` is present" do
before { cli.start "up --certs /home/whoami/certs_storage".shellsplit }

it {
expected_subprocess("docker",
"run --detach --volume /var/run/docker.sock:/tmp/docker.sock:ro --volume /home/whoami/certs_storage:/etc/nginx/certs --restart always --publish 80:80 --net frontend --name nginx --label com.dnsdock.alias=docker bibendi/nginx-proxy:latest")
Expand All @@ -88,12 +99,14 @@
describe Dip::Commands::Nginx::Down do
context "when without arguments" do
before { cli.start "down".shellsplit }

it { expected_subprocess("docker", ["stop", "nginx"]) }
it { expected_subprocess("docker", ["rm", "-v", "nginx"]) }
end

context "when option `name` is present" do
before { cli.start "down --name foo".shellsplit }

it { expected_subprocess("docker", ["stop", "foo"]) }
it { expected_subprocess("docker", ["rm", "-v", "foo"]) }
end
Expand Down
3 changes: 2 additions & 1 deletion spec/lib/dip/commands/provision_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@

context "when has no any commands" do
let(:commands) { [] }
it { expect { cli.start ["provision"] }.to_not raise_error }

it { expect { cli.start ["provision"] }.not_to raise_error }
end

context "when has some commands" do
Expand Down
Loading

0 comments on commit 49b776b

Please sign in to comment.