File: stub_helper.rb

package info (click to toggle)
ruby-jekyll-github-metadata 2.15.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 712 kB
  • sloc: ruby: 2,355; javascript: 107; sh: 41; makefile: 6
file content (40 lines) | stat: -rw-r--r-- 1,707 bytes parent folder | download | duplicates (2)
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
# frozen_string_literal: true

module StubHelper
  include WebMockHelper

  # Returns all stubs created.
  def stub_all_api_requests
    reset_env_for_stubs
    stubs = {
      "/users/jekyll/repos?per_page=100&type=public"            => "owner_repos",
      "/repos/jekyll/github-metadata"                           => "repo",
      "/orgs/jekyll"                                            => "org",
      "/orgs/jekyll/public_members?per_page=100"                => "org_members",
      "/repos/jekyll/github-metadata/pages"                     => "repo_pages",
      "/repos/jekyll/github-metadata/releases?per_page=100"     => "repo_releases",
      "/repos/jekyll/github-metadata/contributors?per_page=100" => "repo_contributors",
      "/repos/jekyll/jekyll.github.io"                          => "not_found",
      "/repos/jekyll/jekyll.github.com"                         => "repo",
      "/repos/jekyll/jekyll.github.com/pages"                   => "repo_pages",
      "/repos/jekyll/jekyll.github.io/pages"                    => "repo_pages",
      "/repos/jekyll/github-metadata/releases/latest"           => "latest_release",
    }.map { |path, file| stub_api(path, file) }

    owner_repos = JSON.parse(webmock_data("owner_repos"))
    owner_repos.each do |r|
      stubs << stub_api("/repos/#{r["full_name"]}/releases?per_page=100", "repo_releases")
      stubs << stub_api("/repos/#{r["full_name"]}/contributors?per_page=100", "repo_contributors")
    end

    stubs
  end

  def reset_env_for_stubs
    # Reset some stuffs
    ENV["NO_NETRC"] = "true"
    ENV["JEKYLL_GITHUB_TOKEN"] = "1234abc"
    ENV["PAGES_REPO_NWO"] = "jekyll/github-metadata"
    ENV["PAGES_ENV"] = "dotcom"
  end
end