Sha256: cfd9e9a18a6e5c12927d4c256e54bb1fd6d416c4641d8484639f70ec06ecd7dc

Contents?: true

Size: 1.43 KB

Versions: 102

Compression:

Stored size: 1.43 KB

Contents

module OpsManagerUiDrivers
  module Version14
    class Networks
      def initialize(browser:, product:)
        @browser = browser
        @product = product
      end

      def add_network(name:, iaas_network_identifier:, subnet:, dns:, gateway:, reserved_ip_ranges:)
        open_form('network')

        browser.click_on 'Add'
        set_fields(
          fields: {
            'name'                    => name,
            'iaas_network_identifier' => iaas_network_identifier,
            'subnet'                  => subnet,
            'dns'                     => dns,
            'gateway'                 => gateway,
            'reserved_ip_ranges'      => reserved_ip_ranges,
          }
        )
        save_form
      end

      private
      attr_reader(
        :browser,
        :product,
      )

      def save_form
        browser.click_on 'Save'
        browser.expect(browser.page).to browser.have_css('.flash-message.success')
      end

      def open_form(form)
        browser.visit '/'
        browser.click_on "show-#{product}-configure-action"
        browser.click_on "show-#{form}-action"
      end

      def set_fields(fields:)
        fields.each do |field, value|
          set_field(field, value)
        end
      end

      def set_field(field, value)
        last_field(field).set(value)
      end

      def last_field(field)
        browser.all(:field, "network[networks][][#{field}]").last
      end
    end
  end
end

Version data entries

102 entries across 102 versions & 1 rubygems

Version Path
ops_manager_ui_drivers-2.42.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.41.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.40.1 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.40.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.39.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.38.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.37.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.36.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.35.2 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.35.1 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.35.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.34.1 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.34.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.33.1 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.33.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.32.1 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.32.0 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.31.3 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.31.2 lib/ops_manager_ui_drivers/version14/networks.rb
ops_manager_ui_drivers-2.31.1 lib/ops_manager_ui_drivers/version14/networks.rb