]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/aviator/feature/aviator/core/session.rb
Revert "add aimonb/aviator to 3rdparty"
[dsa-puppet.git] / 3rdparty / modules / aviator / feature / aviator / core / session.rb
diff --git a/3rdparty/modules/aviator/feature/aviator/core/session.rb b/3rdparty/modules/aviator/feature/aviator/core/session.rb
deleted file mode 100644 (file)
index 09ebcc7..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-module Aviator
-
-  class Session
-
-    class AuthenticationError < StandardError
-      def initialize(last_auth_body)
-        super("Authentication failed. The server returned #{ last_auth_body }")
-      end
-    end
-
-
-    class EnvironmentNotDefinedError < ArgumentError
-      def initialize(path, env)
-        super("The environment '#{ env }' is not defined in #{ path }.")
-      end
-    end
-
-    class InitializationError < StandardError
-      def initialize
-        super("The session could not find :session_dump, :config_file, and " \
-              ":config in the constructor arguments provided")
-      end
-    end
-
-    class InvalidConfigFilePathError < ArgumentError
-      def initialize(path)
-        super("The config file at #{ path } does not exist!")
-      end
-    end
-
-
-    class NotAuthenticatedError < StandardError
-      def initialize
-        super("Session is not authenticated. Please authenticate before proceeding.")
-      end
-    end
-
-
-    class ValidatorNotDefinedError < StandardError
-      def initialize
-        super("The validator request name is not defined for this session object.")
-      end
-    end
-
-
-    def initialize(opts={})
-      if opts.has_key? :session_dump
-        initialize_with_dump(opts[:session_dump])
-      elsif opts.has_key? :config_file
-        initialize_with_config(opts[:config_file], opts[:environment])
-      elsif opts.has_key? :config
-        initialize_with_hash(opts[:config])
-      else
-        raise InitializationError.new
-      end
-
-      @log_file = opts[:log_file]
-    end
-
-
-    def authenticate(&block)
-      block ||= lambda do |params|
-        environment[:auth_credentials].each do |key, value|
-          params[key] = value
-        end
-      end
-
-      response = auth_service.request environment[:auth_service][:request].to_sym, &block
-
-      if response.status == 200
-        @auth_info = response.body
-        update_services_session_data
-      else
-        raise AuthenticationError.new(response.body)
-      end
-    end
-
-
-    def authenticated?
-      !auth_info.nil?
-    end
-
-
-    def dump
-      JSON.generate({
-        :environment => environment,
-        :auth_info   => auth_info
-      })
-    end
-
-
-    def load(session_dump)
-      initialize_with_dump(session_dump)
-      update_services_session_data
-      self
-    end
-
-
-    def method_missing(name, *args, &block)
-      service_name_parts = name.to_s.match(/^(\w+)_service$/)
-
-      if service_name_parts
-        get_service_obj(service_name_parts[1])
-      else
-        super name, *args, &block
-      end
-    end
-
-
-    def self.load(session_dump, opts={})
-      opts[:session_dump] = session_dump
-
-      new(opts)
-    end
-
-
-    def validate
-      raise NotAuthenticatedError.new unless authenticated?
-      raise ValidatorNotDefinedError.new unless environment[:auth_service][:validator]
-
-      auth_with_bootstrap = auth_info.merge({ :auth_service => environment[:auth_service] })
-
-      response = auth_service.request environment[:auth_service][:validator].to_sym, :session_data => auth_with_bootstrap
-
-      response.status == 200 || response.status == 203
-    end
-
-
-    private
-
-
-    def auth_info
-      @auth_info
-    end
-
-
-    def auth_service
-      @auth_service ||= Service.new(
-        :provider => environment[:provider],
-        :service  => environment[:auth_service][:name],
-        :default_session_data => { :auth_service => environment[:auth_service] },
-        :log_file => log_file
-      )
-    end
-
-
-    def environment
-      @environment
-    end
-
-
-    def get_service_obj(service_name)
-      raise NotAuthenticatedError.new unless self.authenticated?
-
-      @services ||= {}
-
-      @services[service_name] ||= Service.new(
-        :provider => environment[:provider],
-        :service  => service_name,
-        :default_session_data => auth_info,
-        :log_file => log_file
-      )
-
-      @services[service_name]
-    end
-
-
-    def initialize_with_config(config_path, environment)
-      raise InvalidConfigFilePathError.new(config_path) unless Pathname.new(config_path).file?
-
-      config = Hashish.new(YAML.load_file(config_path))
-
-      raise EnvironmentNotDefinedError.new(config_path, environment) unless config[environment]
-
-      @environment = config[environment]
-    end
-
-
-    def initialize_with_dump(session_dump)
-      session_info = Hashish.new(JSON.parse(session_dump))
-      @environment = session_info[:environment]
-      @auth_info   = session_info[:auth_info]
-    end
-
-    def initialize_with_hash(hash_obj)
-      @environment = Hashish.new(hash_obj)
-    end
-
-    def log_file
-      @log_file
-    end
-
-
-    def update_services_session_data
-      return unless @services
-
-      @services.each do |name, obj|
-        obj.default_session_data = auth_info
-      end
-    end
-
-  end
-
-end