blob: 42239311e2e05c035aae612380c93034859cf36d (
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
|
# frozen_string_literal: true
RSpec.describe "gemcutter's dependency API" do
context "when Gemcutter API takes too long to respond" do
before do
require_rack
port = find_unused_port
@server_uri = "http://127.0.0.1:#{port}"
require_relative "../../support/artifice/endpoint_timeout"
require_relative "../../support/silent_logger"
require "rackup/server"
@t = Thread.new do
server = Rackup::Server.start(app: EndpointTimeout,
Host: "0.0.0.0",
Port: port,
server: "webrick",
AccessLog: [],
Logger: Spec::SilentLogger.new)
server.start
end
@t.run
wait_for_server("127.0.0.1", port)
bundle "config set timeout 1"
end
after do
Artifice.deactivate
@t.kill
@t.join
end
it "times out and falls back on the modern index" do
install_gemfile <<-G, artifice: nil, env: { "BUNDLER_SPEC_GEM_REPO" => gem_repo1.to_s }
source "#{@server_uri}"
gem "myrack"
G
expect(out).to include("Fetching source index from #{@server_uri}/")
expect(the_bundle).to include_gems "myrack 1.0.0"
end
end
end
|