diff --git a/app/models/authentication.rb b/app/models/authentication.rb index 19887904b1d..506208f2c86 100644 --- a/app/models/authentication.rb +++ b/app/models/authentication.rb @@ -20,6 +20,8 @@ def self.new(*args, &block) has_many :configuration_script_bases, :through => :authentication_configuration_script_bases + has_many :configuration_script_sources + before_save :set_credentials_changed_on after_save :after_authentication_changed diff --git a/app/models/configuration_script_source.rb b/app/models/configuration_script_source.rb index 66158eb443e..a4d431a9694 100644 --- a/app/models/configuration_script_source.rb +++ b/app/models/configuration_script_source.rb @@ -1,4 +1,5 @@ class ConfigurationScriptSource < ApplicationRecord has_many :configuration_script_payloads + belongs_to :authentication belongs_to :manager, :class_name => "ExtManagementSystem" end diff --git a/app/models/manageiq/providers/ansible_tower/automation_manager/scm_credential.rb b/app/models/manageiq/providers/ansible_tower/automation_manager/scm_credential.rb new file mode 100644 index 00000000000..277eb05d8d2 --- /dev/null +++ b/app/models/manageiq/providers/ansible_tower/automation_manager/scm_credential.rb @@ -0,0 +1,2 @@ +class ManageIQ::Providers::AnsibleTower::AutomationManager::ScmCredential < ManageIQ::Providers::AutomationManager::Authentication +end diff --git a/db/migrate/20170203161253_add_scm_attributes_to_configuration_script_source.rb b/db/migrate/20170203161253_add_scm_attributes_to_configuration_script_source.rb new file mode 100644 index 00000000000..a9ee3d102f3 --- /dev/null +++ b/db/migrate/20170203161253_add_scm_attributes_to_configuration_script_source.rb @@ -0,0 +1,11 @@ +class AddScmAttributesToConfigurationScriptSource < ActiveRecord::Migration[5.0] + def change + add_column :configuration_script_sources, :scm_type, :string + add_column :configuration_script_sources, :scm_url, :string + add_column :configuration_script_sources, :scm_branch, :string + add_column :configuration_script_sources, :scm_clean, :boolean + add_column :configuration_script_sources, :scm_delete_on_update, :boolean + add_column :configuration_script_sources, :scm_update_on_launch, :boolean + add_column :configuration_script_sources, :authentication_id, :bigint + end +end diff --git a/db/schema.yml b/db/schema.yml index e6ecc6e45d5..526a6215cf6 100644 --- a/db/schema.yml +++ b/db/schema.yml @@ -536,6 +536,13 @@ configuration_script_sources: - description - created_at - updated_at +- scm_type +- scm_url +- scm_branch +- scm_clean +- scm_delete_on_update +- scm_update_on_launch +- authentication_id configuration_scripts: - id - manager_id diff --git a/lib/miq_automation_engine/service_models/miq_ae_service_manageiq-providers-ansible_tower-automation_manager-scm_credential.rb b/lib/miq_automation_engine/service_models/miq_ae_service_manageiq-providers-ansible_tower-automation_manager-scm_credential.rb new file mode 100644 index 00000000000..bd4a493a512 --- /dev/null +++ b/lib/miq_automation_engine/service_models/miq_ae_service_manageiq-providers-ansible_tower-automation_manager-scm_credential.rb @@ -0,0 +1,4 @@ +module MiqAeMethodService + class MiqAeServiceManageIQ_Providers_AnsibleTower_AutomationManager_ScmCredential < MiqAeServiceManageIQ_Providers_AutomationManager_Authentication + end +end diff --git a/spec/lib/miq_automation_engine/service_models/miq_ae_service_manageiq-providers-ansible_tower-automation_manager-scm_credential_spec.rb b/spec/lib/miq_automation_engine/service_models/miq_ae_service_manageiq-providers-ansible_tower-automation_manager-scm_credential_spec.rb new file mode 100644 index 00000000000..8fe2e5ec7b2 --- /dev/null +++ b/spec/lib/miq_automation_engine/service_models/miq_ae_service_manageiq-providers-ansible_tower-automation_manager-scm_credential_spec.rb @@ -0,0 +1,5 @@ +describe MiqAeMethodService::MiqAeServiceManageIQ_Providers_AnsibleTower_AutomationManager_ScmCredential do + it "get the service model class" do + expect { described_class }.not_to raise_error + end +end diff --git a/spec/models/configuration_script_source_spec.rb b/spec/models/configuration_script_source_spec.rb deleted file mode 100644 index 7d7e10f1bf2..00000000000 --- a/spec/models/configuration_script_source_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -describe ConfigurationScriptSource do - context "automation_manager" do - let(:manager) { FactoryGirl.create(:automation_manager, :provider) } - let(:configuration_script_source) { FactoryGirl.create(:configuration_script_source, :manager => manager) } - let!(:payloads) do - [FactoryGirl.create(:configuration_script_payload, :configuration_script_source => configuration_script_source), - FactoryGirl.create(:configuration_script_payload, :configuration_script_source => configuration_script_source)] - end - - it "belongs_to the automation manager" do - expect(configuration_script_source.manager).to eq(manager) - expect(manager.configuration_script_sources.size).to eq 1 - expect(manager.configuration_script_sources.first).to be_a ConfigurationScriptSource - end - - it "can have multiple configuration_script_payloads" do - expect(configuration_script_source.configuration_script_payloads.size).to eq 2 - expect(payloads[0].configuration_script_source).to eq(configuration_script_source) - end - end -end