Specifications:

  • Core Aggregated Status can be requested

    Verify that the controller responds to an aggregated status request.

    1. Given the site is connected

    2. When we request aggregated status

    3. Then we should receive an aggregated status

    
    
    10
    11
    12
    13
    14
    15
    16
    # File 'spec/site/core/aggregated_status_spec.rb', line 10
    
    Validator::Site.connected do |task,supervisor,site|
            prepare task, site
            log "Request aggregated status"
            result = site.request_aggregated_status Validator.get_config('main_component'), collect!: {
              timeout: Validator.get_config('timeouts','status_response')
            }
          end
  • Core Aggregated Status uses null for functional position/state

    Verify that aggregated status uses null for unused attributes, from SXL 1.1 For SXL versions before 1.1 empty strings “” is also allowed.

    1. Given the is reconnected

    2. When we receive an aggregated status

    3. Then fP and fS should be null

    
    
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    # File 'spec/site/core/aggregated_status_spec.rb', line 26
    
    Validator::Site.isolated(
            'collect' => {
              filter: RSMP::Filter.new(type:"AggregatedStatus"),
              timeout: Validator.get_config('timeouts','ready'),
              num: 1,
              ingoing: true
            }
          ) do |task,supervisor,site_proxy|
            collector = site_proxy.collector
            collector.use_task task
            collector.wait!
            aggregated_status = site_proxy.collector.messages.first
    
            expect(aggregated_status).to be_an(RSMP::AggregatedStatus)
            expect(aggregated_status.attribute('fP')).to be_nil
            expect(aggregated_status.attribute('fS')).to be_nil
          end