Changeset 161 for ruby/trunk


Ignore:
Timestamp:
Jul 7, 2009, 10:28:00 PM (10 years ago)
Author:
KOBAYASHI, Shinji
Message:

fixed #64

Location:
ruby/trunk/lib/models
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/lib/models/rm/common/change_control.rb

    r160 r161  
    127127
    128128        class Original_Version < Version
    129           attr_reader :attestations
     129          attr_reader :attestations, :other_input_version_uids
    130130
    131131          def initialize(args = { })
     
    288288                                                  :signature => args[:signature])
    289289          end
     290
     291          def commit_original_merged_version(args = { })
     292            @all_versions << Original_Version.new(:uid => args[:uid],
     293                                                  :contribution => args[:contribution],
     294                                              :preceding_version_uid => args[:preceding_version_uid],
     295                                              :commit_audit => args[:commit_audit],
     296                                              :lifecycle_state => args[:lifecycle_state],
     297                                              :data => args[:data],
     298                                              :attestations => args[:attestations],
     299                                              :other_input_version_uids => args[:other_input_version_uids],
     300                                              :signature => args[:signature])
     301          end
     302
     303          def commit_imported_version(args = { })
     304            @all_versions << Imported_Version.new(:item => args[:item],
     305                                                  :contribution => args[:contribution],
     306                                                  :commit_audit => args[:commit_audit])
     307          end
     308
     309          def commit_attestation(args = { })
     310            if args[:attestation].nil?
     311              raise ArgumentError, 'attestation is mandatory'
     312            end
     313            if self.has_version_id?(args[:uid]) && self.is_original_version?(args[:uid])
     314              self.version_with_id(args[:uid]).attestations << args[:attestation]
     315              self.version_with_id(args[:uid]).signature = args[:signature]
     316            else
     317              raise ArgumentError, 'uid invalid'
     318            end
     319          end
    290320        end
    291321      end # of Change_Control
  • ruby/trunk/lib/models/tests/rm/test_common.rb

    r160 r161  
    459459                                                :signature => 'testtett')}
    460460    assert_equal 5, @versioned_object.version_count
     461    assert_nothing_raised(Exception){
     462      @versioned_object.commit_original_merged_version(:contribution => @original_version.contribution,
     463                                                       :uid => @original_version.uid,
     464                                                       :preceding_version_uid => @original_version.preceding_version_uid,
     465                                                       :commit_audit => @original_version.commit_audit,
     466                                                       :lifecycle_state => @original_version.lifecycle_state,
     467                                                       :attestations => @original_version.attestations,
     468                                                       :data => @original_version.data,
     469                                                       :other_input_version_uids => @original_version.other_input_version_uids,
     470                                                       :signature => @original_version.signature)}
     471    assert_equal 6, @versioned_object.version_count
     472    assert_nothing_raised(Exception){
     473      @versioned_object.commit_imported_version(:contribution => @imported_version.contribution,
     474                                                :commit_audit => @imported_version.commit_audit,
     475                                                :item => @imported_version.item)}
     476    assert_equal 7, @versioned_object.version_count
     477    dv_date_time = DV_Date_Time.new('2009-07-07T22:11:31')
     478    attestation = Attestation.new(:system_id => 'NERV2',
     479                                  :committer => @version.contribution,
     480                                  :time_committed => dv_date_time,
     481                                  :change_type => @original_version.commit_audit.change_type,
     482                                  :reason => DV_Text.new('signed'))
     483    assert_nothing_raised(Exception){
     484      @versioned_object.commit_attestation(:attestation => attestation,
     485                                           :uid => @original_version.uid,
     486                                           :signature => 'new signature')}
    461487  end
    462488end
Note: See TracChangeset for help on using the changeset viewer.