Merge branch 'release/1.4.1'
This commit is contained in:
		
						commit
						eeb03b031f
					
				@ -6,8 +6,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
**Merged pull requests:**
 | 
					**Merged pull requests:**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- This PR SHOULD NOT appear in change log! [\#6](https://github.com/skywinder/changelog_test/pull/6) ([skywinder](https://github.com/skywinder))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- Add automatically generated change log file. [\#5](https://github.com/skywinder/changelog_test/pull/5) ([skywinder](https://github.com/skywinder))
 | 
					- Add automatically generated change log file. [\#5](https://github.com/skywinder/changelog_test/pull/5) ([skywinder](https://github.com/skywinder))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## [v0.0.3](https://github.com/skywinder/changelog_test/tree/v0.0.3) (2015-03-04)
 | 
					## [v0.0.3](https://github.com/skywinder/changelog_test/tree/v0.0.3) (2015-03-04)
 | 
				
			||||||
 | 
				
			|||||||
@ -32,7 +32,8 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
      # @all_tags = get_filtered_tags
 | 
					      # @all_tags = get_filtered_tags
 | 
				
			||||||
      @all_tags = @fetcher.get_all_tags
 | 
					      @all_tags = @fetcher.get_all_tags
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      @issues, @pull_requests = @fetcher.fetch_issues_and_pull_requests
 | 
					      # TODO: refactor this double asssign of @issues and @pull_requests and move all logic in one method
 | 
				
			||||||
 | 
					      @issues, @pull_requests = @fetcher.fetch_closed_issues_and_pr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      @pull_requests = @options[:pulls] ? get_filtered_pull_requests : []
 | 
					      @pull_requests = @options[:pulls] ? get_filtered_pull_requests : []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -120,7 +121,7 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
    # And exclude all from :exclude_labels array.
 | 
					    # And exclude all from :exclude_labels array.
 | 
				
			||||||
    # @return [Array] filtered PR's
 | 
					    # @return [Array] filtered PR's
 | 
				
			||||||
    def get_filtered_pull_requests
 | 
					    def get_filtered_pull_requests
 | 
				
			||||||
      fetch_merged_at_pull_requests
 | 
					      filter_merged_pull_requests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      filtered_pull_requests = include_issues_by_labels(@pull_requests)
 | 
					      filtered_pull_requests = include_issues_by_labels(@pull_requests)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -133,14 +134,15 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
      filtered_pull_requests
 | 
					      filtered_pull_requests
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # This method fetch missing required attributes for pull requests
 | 
					    # This method filter only merged PR and
 | 
				
			||||||
 | 
					    # fetch missing required attributes for pull requests
 | 
				
			||||||
    # :merged_at - is a date, when issue PR was merged.
 | 
					    # :merged_at - is a date, when issue PR was merged.
 | 
				
			||||||
    # More correct to use this date, not closed date.
 | 
					    # More correct to use merged date, rather than closed date.
 | 
				
			||||||
    def fetch_merged_at_pull_requests
 | 
					    def filter_merged_pull_requests
 | 
				
			||||||
      if @options[:verbose]
 | 
					      if @options[:verbose]
 | 
				
			||||||
        print "Fetching merged dates...\r"
 | 
					        print "Fetching merged dates...\r"
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
      pull_requests = @fetcher.fetch_pull_requests
 | 
					      pull_requests = @fetcher.fetch_closed_pull_requests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      @pull_requests.each { |pr|
 | 
					      @pull_requests.each { |pr|
 | 
				
			||||||
        fetched_pr = pull_requests.find { |fpr|
 | 
					        fetched_pr = pull_requests.find { |fpr|
 | 
				
			||||||
@ -150,8 +152,8 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
        pull_requests.delete(fetched_pr)
 | 
					        pull_requests.delete(fetched_pr)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if @options[:verbose]
 | 
					      @pull_requests.select! do |pr|
 | 
				
			||||||
        puts "Fetching merged dates: Done!"
 | 
					        !pr[:merged_at].nil?
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -217,7 +219,7 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
      output_filename = "#{@options[:output]}"
 | 
					      output_filename = "#{@options[:output]}"
 | 
				
			||||||
      File.open(output_filename, "w") { |file| file.write(log) }
 | 
					      File.open(output_filename, "w") { |file| file.write(log) }
 | 
				
			||||||
      puts "Done!"
 | 
					      puts "Done!"
 | 
				
			||||||
      puts "Generated log placed in #{`pwd`.strip!}/#{output_filename}"
 | 
					      puts "Generated log placed in #{Dir.pwd}/#{output_filename}"
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # The full cycle of generation for whole project
 | 
					    # The full cycle of generation for whole project
 | 
				
			||||||
@ -279,7 +281,7 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
      threads.each(&:join)
 | 
					      threads.each(&:join)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if @options[:verbose]
 | 
					      if @options[:verbose]
 | 
				
			||||||
        puts "Fetching tags dates: #{i} Done!"
 | 
					        puts "Fetching tags dates: #{i}"
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9,8 +9,10 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
  class Fetcher
 | 
					  class Fetcher
 | 
				
			||||||
    PER_PAGE_NUMBER = 30
 | 
					    PER_PAGE_NUMBER = 30
 | 
				
			||||||
    CHANGELOG_GITHUB_TOKEN = "CHANGELOG_GITHUB_TOKEN"
 | 
					    CHANGELOG_GITHUB_TOKEN = "CHANGELOG_GITHUB_TOKEN"
 | 
				
			||||||
    GH_RATE_LIMIT_EXCEEDED_MSG = "Warning: GitHub API rate limit (5000 per hour) exceeded, change log may be " \
 | 
					    GH_RATE_LIMIT_EXCEEDED_MSG = "Warning: Can't finish operation: GitHub API rate limit exceeded, change log may be " \
 | 
				
			||||||
        "missing some issues. You can limit the number of issues fetched using the `--max-issues NUM` argument."
 | 
					    "missing some issues. You can limit the number of issues fetched using the `--max-issues NUM` argument."
 | 
				
			||||||
 | 
					    NO_TOKEN_PROVIDED = "Warning: No token provided (-t option) and variable $CHANGELOG_GITHUB_TOKEN was not found. " \
 | 
				
			||||||
 | 
					    "This script can make only 50 requests to GitHub API per hour without token!"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def initialize(options = {})
 | 
					    def initialize(options = {})
 | 
				
			||||||
      @options = options
 | 
					      @options = options
 | 
				
			||||||
@ -29,11 +31,7 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
      github_options[:endpoint] = options[:github_endpoint] unless options[:github_endpoint].nil?
 | 
					      github_options[:endpoint] = options[:github_endpoint] unless options[:github_endpoint].nil?
 | 
				
			||||||
      github_options[:site] = options[:github_endpoint] unless options[:github_site].nil?
 | 
					      github_options[:site] = options[:github_endpoint] unless options[:github_site].nil?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      begin
 | 
					      @github = check_github_response { Github.new github_options }
 | 
				
			||||||
        @github = Github.new github_options
 | 
					 | 
				
			||||||
      rescue
 | 
					 | 
				
			||||||
        @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Returns GitHub token. First try to use variable, provided by --token option,
 | 
					    # Returns GitHub token. First try to use variable, provided by --token option,
 | 
				
			||||||
@ -44,8 +42,7 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
      env_var = @options[:token] ? @options[:token] : (ENV.fetch CHANGELOG_GITHUB_TOKEN, nil)
 | 
					      env_var = @options[:token] ? @options[:token] : (ENV.fetch CHANGELOG_GITHUB_TOKEN, nil)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      unless env_var
 | 
					      unless env_var
 | 
				
			||||||
        @logger.warn "Warning: No token provided (-t option) and variable $CHANGELOG_GITHUB_TOKEN was not found.".yellow
 | 
					        @logger.warn NO_TOKEN_PROVIDED.yellow
 | 
				
			||||||
        @logger.warn "This script can make only 50 requests to GitHub API per hour without token!".yellow
 | 
					 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      env_var
 | 
					      env_var
 | 
				
			||||||
@ -60,35 +57,47 @@ module GitHubChangelogGenerator
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      tags = []
 | 
					      tags = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      begin
 | 
					      check_github_response { github_fetch_tags(tags) }
 | 
				
			||||||
        response = @github.repos.tags @options[:user], @options[:project]
 | 
					 | 
				
			||||||
        page_i = 0
 | 
					 | 
				
			||||||
        count_pages = response.count_pages
 | 
					 | 
				
			||||||
        response.each_page do |page|
 | 
					 | 
				
			||||||
          page_i += PER_PAGE_NUMBER
 | 
					 | 
				
			||||||
          print "Fetching tags... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r"
 | 
					 | 
				
			||||||
          tags.concat(page)
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
        print "                               \r"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if tags.count == 0
 | 
					 | 
				
			||||||
          @logger.warn "Warning: Can't find any tags in repo.\
 | 
					 | 
				
			||||||
Make sure, that you push tags to remote repo via 'git push --tags'".yellow
 | 
					 | 
				
			||||||
        elsif @options[:verbose]
 | 
					 | 
				
			||||||
          @logger.info "Found #{tags.count} tags"
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      rescue
 | 
					 | 
				
			||||||
        @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      tags
 | 
					      tags
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def check_github_response
 | 
				
			||||||
 | 
					      begin
 | 
				
			||||||
 | 
					        value = yield
 | 
				
			||||||
 | 
					      rescue Github::Error::Unauthorized => e
 | 
				
			||||||
 | 
					        @logger.error e.body.red
 | 
				
			||||||
 | 
					        abort "Error: wrong GitHub token"
 | 
				
			||||||
 | 
					      rescue Github::Error::Forbidden => e
 | 
				
			||||||
 | 
					        @logger.warn e.body.red
 | 
				
			||||||
 | 
					        @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					      value
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def github_fetch_tags(tags)
 | 
				
			||||||
 | 
					      response = @github.repos.tags @options[:user], @options[:project]
 | 
				
			||||||
 | 
					      page_i = 0
 | 
				
			||||||
 | 
					      count_pages = response.count_pages
 | 
				
			||||||
 | 
					      response.each_page do |page|
 | 
				
			||||||
 | 
					        page_i += PER_PAGE_NUMBER
 | 
				
			||||||
 | 
					        print_in_same_line("Fetching tags... #{page_i}/#{count_pages * PER_PAGE_NUMBER}")
 | 
				
			||||||
 | 
					        tags.concat(page)
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					      print_empty_line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if tags.count == 0
 | 
				
			||||||
 | 
					        @logger.warn "Warning: Can't find any tags in repo.\
 | 
				
			||||||
 | 
					Make sure, that you push tags to remote repo via 'git push --tags'".yellow
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        @logger.info "Found #{tags.count} tags"
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # This method fetch all closed issues and separate them to pull requests and pure issues
 | 
					    # This method fetch all closed issues and separate them to pull requests and pure issues
 | 
				
			||||||
    # (pull request is kind of issue in term of GitHub)
 | 
					    # (pull request is kind of issue in term of GitHub)
 | 
				
			||||||
    # @return [Tuple] with issues and pull requests
 | 
					    # @return [Tuple] with (issues, pull-requests)
 | 
				
			||||||
    def fetch_issues_and_pull_requests
 | 
					    def fetch_closed_issues_and_pr
 | 
				
			||||||
      if @options[:verbose]
 | 
					      if @options[:verbose]
 | 
				
			||||||
        print "Fetching closed issues...\r"
 | 
					        print "Fetching closed issues...\r"
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
@ -104,21 +113,18 @@ Make sure, that you push tags to remote repo via 'git push --tags'".yellow
 | 
				
			|||||||
        count_pages = response.count_pages
 | 
					        count_pages = response.count_pages
 | 
				
			||||||
        response.each_page do |page|
 | 
					        response.each_page do |page|
 | 
				
			||||||
          page_i += PER_PAGE_NUMBER
 | 
					          page_i += PER_PAGE_NUMBER
 | 
				
			||||||
          print "Fetching issues... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r"
 | 
					          print_in_same_line("Fetching issues... #{page_i}/#{count_pages * PER_PAGE_NUMBER}")
 | 
				
			||||||
          issues.concat(page)
 | 
					          issues.concat(page)
 | 
				
			||||||
          break if @options[:max_issues] && issues.length >= @options[:max_issues]
 | 
					          break if @options[:max_issues] && issues.length >= @options[:max_issues]
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 | 
					        print_empty_line
 | 
				
			||||||
 | 
					        @logger.info "Received issues: #{issues.count}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      rescue
 | 
					      rescue
 | 
				
			||||||
        @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
					        @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      print "                                                \r"
 | 
					      # separate arrays of issues and pull requests:
 | 
				
			||||||
 | 
					 | 
				
			||||||
      if @options[:verbose]
 | 
					 | 
				
			||||||
        @logger.info "Received issues: #{issues.count}"
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # remove pull request from issues:
 | 
					 | 
				
			||||||
      issues.partition do |x|
 | 
					      issues.partition do |x|
 | 
				
			||||||
        x[:pull_request].nil?
 | 
					        x[:pull_request].nil?
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
@ -126,25 +132,35 @@ Make sure, that you push tags to remote repo via 'git push --tags'".yellow
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # Fetch all pull requests. We need them to detect :merged_at parameter
 | 
					    # Fetch all pull requests. We need them to detect :merged_at parameter
 | 
				
			||||||
    # @return [Array] all pull requests
 | 
					    # @return [Array] all pull requests
 | 
				
			||||||
    def fetch_pull_requests
 | 
					    def fetch_closed_pull_requests
 | 
				
			||||||
      pull_requests = []
 | 
					      pull_requests = []
 | 
				
			||||||
      begin
 | 
					      begin
 | 
				
			||||||
        response = @github.pull_requests.list @options[:user], @options[:project], state: "closed"
 | 
					        response = @github.pull_requests.list @options[:user], @options[:project], state: "closed"
 | 
				
			||||||
        page_i = 0
 | 
					        page_i = 0
 | 
				
			||||||
 | 
					        count_pages = response.count_pages
 | 
				
			||||||
        response.each_page do |page|
 | 
					        response.each_page do |page|
 | 
				
			||||||
          page_i += PER_PAGE_NUMBER
 | 
					          page_i += PER_PAGE_NUMBER
 | 
				
			||||||
          count_pages = response.count_pages
 | 
					          log_string = "Fetching merged dates... #{page_i}/#{count_pages * PER_PAGE_NUMBER}"
 | 
				
			||||||
          print "Fetching merged dates... #{page_i}/#{count_pages * PER_PAGE_NUMBER}\r"
 | 
					          print_in_same_line(log_string)
 | 
				
			||||||
          pull_requests.concat(page)
 | 
					          pull_requests.concat(page)
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 | 
					        print_empty_line
 | 
				
			||||||
      rescue
 | 
					      rescue
 | 
				
			||||||
        @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
					        @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      print "                                                   \r"
 | 
					      @logger.info "Fetching merged dates: #{pull_requests.count}"
 | 
				
			||||||
      pull_requests
 | 
					      pull_requests
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def print_in_same_line(log_string)
 | 
				
			||||||
 | 
					      print log_string + "\r"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def print_empty_line
 | 
				
			||||||
 | 
					      print_in_same_line("                                                                       ")
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Fetch event for all issues and add them to :events
 | 
					    # Fetch event for all issues and add them to :events
 | 
				
			||||||
    # @param [Array] issues
 | 
					    # @param [Array] issues
 | 
				
			||||||
    # @return [Void]
 | 
					    # @return [Void]
 | 
				
			||||||
@ -163,7 +179,7 @@ Make sure, that you push tags to remote repo via 'git push --tags'".yellow
 | 
				
			|||||||
              @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
					              @logger.warn GH_RATE_LIMIT_EXCEEDED_MSG.yellow
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
            issue[:events] = obj.body
 | 
					            issue[:events] = obj.body
 | 
				
			||||||
            print "Fetching events for issues and PR: #{i + 1}/#{issues.count}\r"
 | 
					            print_in_same_line("Fetching events for issues and PR: #{i + 1}/#{issues.count}")
 | 
				
			||||||
            i += 1
 | 
					            i += 1
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
@ -172,11 +188,9 @@ Make sure, that you push tags to remote repo via 'git push --tags'".yellow
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # to clear line from prev print
 | 
					      # to clear line from prev print
 | 
				
			||||||
      print "                                                            \r"
 | 
					      print_empty_line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if @options[:verbose]
 | 
					      @logger.info "Fetching events for issues and PR: #{i}"
 | 
				
			||||||
        @logger.info "Fetching events for issues and PR: #{i} Done!"
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Try to find tag date in local hash.
 | 
					    # Try to find tag date in local hash.
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,3 @@
 | 
				
			|||||||
module GitHubChangelogGenerator
 | 
					module GitHubChangelogGenerator
 | 
				
			||||||
  VERSION = "1.4.0"
 | 
					  VERSION = "1.4.1"
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,16 @@
 | 
				
			|||||||
 | 
					VALID_TOKEN = "0123456789abcdef"
 | 
				
			||||||
 | 
					INVALID_TOKEN = "0000000000000000"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEFAULT_OPTIONS = { user: "skywinder",
 | 
				
			||||||
 | 
					                    project: "changelog_test" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def options_with_invalid_token
 | 
				
			||||||
 | 
					  options = DEFAULT_OPTIONS
 | 
				
			||||||
 | 
					  options[:token] = INVALID_TOKEN
 | 
				
			||||||
 | 
					  options
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe GitHubChangelogGenerator::Fetcher do
 | 
					describe GitHubChangelogGenerator::Fetcher do
 | 
				
			||||||
  VALID_TOKEN = "0123456789abcdef"
 | 
					 | 
				
			||||||
  before(:all) do
 | 
					  before(:all) do
 | 
				
			||||||
    @fetcher = GitHubChangelogGenerator::Fetcher.new
 | 
					    @fetcher = GitHubChangelogGenerator::Fetcher.new
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
@ -33,4 +44,16 @@ describe GitHubChangelogGenerator::Fetcher do
 | 
				
			|||||||
      it { is_expected.to eq(VALID_TOKEN) }
 | 
					      it { is_expected.to eq(VALID_TOKEN) }
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  describe "#github_fetch_tags" do
 | 
				
			||||||
 | 
					    context "when wrong token provided" do
 | 
				
			||||||
 | 
					      before do
 | 
				
			||||||
 | 
					        options = options_with_invalid_token
 | 
				
			||||||
 | 
					        @fetcher = GitHubChangelogGenerator::Fetcher.new(options)
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					      it "should raise Unauthorized error" do
 | 
				
			||||||
 | 
					        expect { @fetcher.github_fetch_tags [] }.to raise_error Github::Error::Unauthorized
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user