@@ -20,12 +20,30 @@ class Granted < Formula
2020 def install
2121 ldflags = "-s -w -X github.com/common-fate/granted/internal/build.Version=#{ version } "
2222 system "go" , "build" , *std_go_args ( ldflags :) , "./cmd/granted"
23+ bin . install_symlink "granted" => "assumego"
24+ # these must be in bin, and not sourced automatically
25+ bin . install "scripts/assume"
26+ bin . install "scripts/assume.fish"
2327 end
2428
2529 test do
2630 assert_match version . to_s , shell_output ( "#{ bin } /granted --version" )
2731
2832 output = shell_output ( "#{ bin } /granted auth configure 2>&1" , 1 )
2933 assert_match "[✘] please provide a url argument" , output
34+
35+ ENV [ "GRANTED_ALIAS_CONFIGURED" ] = "true"
36+ assert_match version . to_s , shell_output ( "#{ bin } /assume --version" )
37+ assert_match version . to_s , shell_output ( "#{ bin } /assumego --version" )
38+
39+ # pre-create config to avoid interactive browser prompt
40+ ENV [ "HOME" ] = testpath
41+ ( testpath /".dgranted" ) . mkpath
42+ ( testpath /".dgranted/config" ) . write <<~TOML
43+ DefaultBrowser = "CHROME"
44+ TOML
45+ # pipe_output provides empty stdin to avoid interactive profile selection
46+ output = pipe_output ( "#{ bin } /assume non-existing-role 2>&1" , "" )
47+ assert_match "does not match any profiles" , output
3048 end
3149end
0 commit comments