|
299 | 299 | end |
300 | 300 | end |
301 | 301 |
|
| 302 | + it "allows the GitHub API token while evaluating casks" do |
| 303 | + cask_token = "github-token-env" |
| 304 | + cask_file = mktmpdir/"#{cask_token}.rb" |
| 305 | + cask_file.write <<~RUBY |
| 306 | + cask "#{cask_token}" do |
| 307 | + version "1.0.0" |
| 308 | + sha256 "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" |
| 309 | +
|
| 310 | + url "https://example.com/app.dmg" |
| 311 | + name "GitHub Token Env" |
| 312 | + desc ENV.key?("HOMEBREW_GITHUB_API_TOKEN") ? "Token present" : "Token absent" |
| 313 | + homepage "https://example.com" |
| 314 | +
|
| 315 | + app "App.app" |
| 316 | + end |
| 317 | + RUBY |
| 318 | + |
| 319 | + with_env(HOMEBREW_GITHUB_API_TOKEN: "github-token") do |
| 320 | + cask = Cask::CaskLoader::FromPathLoader.new(cask_file).load(config: nil) |
| 321 | + |
| 322 | + expect(cask.desc).to eq("Token present") |
| 323 | + end |
| 324 | + end |
| 325 | + |
| 326 | + it "supports temporarily opting out of scrubbing while evaluating casks" do |
| 327 | + cask_token = "unscrubbed-env" |
| 328 | + cask_file = mktmpdir/"#{cask_token}.rb" |
| 329 | + cask_file.write <<~RUBY |
| 330 | + cask "#{cask_token}" do |
| 331 | + version "1.0.0" |
| 332 | + sha256 "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" |
| 333 | +
|
| 334 | + url "https://example.com/app.dmg" |
| 335 | + name "Unscrubbed Env" |
| 336 | + desc ENV.key?("SECRET_TOKEN") ? "Secret present" : "Secret absent" |
| 337 | + homepage "https://example.com" |
| 338 | +
|
| 339 | + app "App.app" |
| 340 | + end |
| 341 | + RUBY |
| 342 | + |
| 343 | + with_env(HOMEBREW_NO_EVAL_ENV_SCRUBBING: "1", SECRET_TOKEN: "password") do |
| 344 | + cask = Cask::CaskLoader::FromPathLoader.new(cask_file).load(config: nil) |
| 345 | + |
| 346 | + expect(cask.desc).to eq("Secret present") |
| 347 | + end |
| 348 | + end |
| 349 | + |
302 | 350 | describe "loading a cask with a removed DSL method" do |
303 | 351 | let(:tmpdir) { mktmpdir } |
304 | 352 | let(:cask_token) { "removed-method-cask" } |
|
0 commit comments