aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/cmd/analytics_spec.rb
blob: aed3a7a33747754d786fcc20c223828fe179b863 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
describe "brew analytics", :integration_test do
  before(:each) do
    HOMEBREW_REPOSITORY.cd do
      shutup do
        system "git", "init"
      end
    end
  end

  it "is disabled when HOMEBREW_NO_ANALYTICS is set" do
    expect { brew "analytics", "HOMEBREW_NO_ANALYTICS" => "1" }
      .to output(/Analytics is disabled \(by HOMEBREW_NO_ANALYTICS\)/).to_stdout
      .and not_to_output.to_stderr
      .and be_a_success
  end

  context "when HOMEBREW_NO_ANALYTICS is unset" do
    it "is disabled after running `brew analytics off`" do
      brew "analytics", "off"
      expect { brew "analytics", "HOMEBREW_NO_ANALYTICS" => nil }
        .to output(/Analytics is disabled/).to_stdout
        .and not_to_output.to_stderr
        .and be_a_success
    end

    it "is enabled after running `brew analytics on`" do
      brew "analytics", "on"
      expect { brew "analytics", "HOMEBREW_NO_ANALYTICS" => nil }
        .to output(/Analytics is enabled/).to_stdout
        .and not_to_output.to_stderr
        .and be_a_success
    end
  end

  it "fails when running `brew analytics on off`" do
    expect { brew "analytics", "on", "off" }
      .to output(/Invalid usage/).to_stderr
      .and not_to_output.to_stdout
      .and be_a_failure
  end

  it "fails when running `brew analytics testball`" do
    expect { brew "analytics", "testball" }
      .to output(/Invalid usage/).to_stderr
      .and not_to_output.to_stdout
      .and be_a_failure
  end

  it "can generate a new UUID" do
    expect { brew "analytics", "regenerate-uuid" }.to be_a_success
  end
end