Sha256: 060146bfa5bf0c3cef198acfa3e09a4e7c5d2df5dcc279ed27a7a4e23e018882

Contents?: true

Size: 1.13 KB

Versions: 17

Compression:

Stored size: 1.13 KB

Contents

# encoding: utf-8
module ProxyTester
  module Actions
    class AddTestCase

      private

      attr_reader :remote_repository, :options , :test_cases_directory

      public

      def initialize(remote_repository, test_cases_directory, options = {})
        @remote_repository    = remote_repository
        @test_cases_directory = test_cases_directory
        @options              = options
      end

      def run
        FileUtils.rm_rf File.join(destination, '.git') if options[:force] == true

        if need_to_run?
          ProxyTester.ui_logger.warn "Add testcase repository \"#{remote_repository.source}\" as test directory \"#{File.join(test_cases_directory, remote_repository.base)}\"."
          GitRepository.clone(remote_repository.source, destination, bare: false)
        else
          ProxyTester.ui_logger.warn "Testcase directory \"#{destination}\" already exists. Do not create it again!"
        end
      end

      private

      def destination
        ::File.join(test_cases_directory, remote_repository.base)
      end

      def need_to_run?
        !::File.exists? File.join(destination, '.git')
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
proxy_tester-0.1.10 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.8 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.6 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.5 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.4 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.3 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.2 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.1 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.1.0 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.9 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.8 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.7 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.6 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.5 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.4 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.3 lib/proxy_tester/actions/add_test_case.rb
proxy_tester-0.0.2 lib/proxy_tester/actions/add_test_case.rb