• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / tigerdata-app / 1f9ee909-20b2-467d-b493-b5be4964430d

22 Oct 2025 04:57PM UTC coverage: 91.212%. Remained the same
1f9ee909-20b2-467d-b493-b5be4964430d

push

circleci

web-flow
Fixing flaky tests (#2080)

10 times out of 10 one of these tests would fail for me locally.

Really we just have to look at the page for something new so that we are
sure the controller action has finished before we check for something
that is not waiting.

2740 of 3004 relevant lines covered (91.21%)

755.12 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/app/models/mediaflux/asset_create_request.rb
1
# frozen_string_literal: true
2
module Mediaflux
3✔
3
  class AssetCreateRequest < Request
3✔
4
    attr_reader :namespace, :asset_name, :collection
3✔
5

6
    # Constructor
7
    # @param session_token [String] the API token for the authenticated session
8
    # @param name [String] Name of the Asset
9
    # @param namespace [String] Optional Parent namespace for the asset to be created in
10
    # @param pid [String] Optional Parent collection id (use this or a namespace not both)
11
    # @param xml_namespace [String]
12
    def initialize(session_token:, namespace: nil, name:, xml_namespace: nil, xml_namespace_uri: nil, pid: nil)
3✔
13
      super(session_token: session_token)
88✔
14
      @namespace = namespace
88✔
15
      @asset_name = name
88✔
16
      @xml_namespace = xml_namespace || self.class.default_xml_namespace
88✔
17
      @xml_namespace_uri = xml_namespace_uri || self.class.default_xml_namespace_uri
88✔
18
      @pid = pid
88✔
19
    end
20

21
    # Specifies the Mediaflux service to use when creating assets
22
    # @return [String]
23
    def self.service
3✔
24
      "asset.create"
172✔
25
    end
26

27
    def id
3✔
28
      @id ||= response_xml.xpath("/response/reply/result/id").text
76✔
29
      @id
76✔
30
    end
31

32
    private
3✔
33

34
      # The generated XML mimics what we get when we issue an Aterm command as follows:
35
      # > asset.set :id path=/sandbox_ns/rdss_collection
36
      #     :meta <
37
      #       :tigerdata:project <
38
      #         :title "RDSS test project"
39
      #         :description "The description of the project"
40
      #         ...the rest of the fields go here..
41
      #       >
42
      #     >
43
      #
44
      def build_http_request_body(name:)
3✔
45
        super do |xml|
172✔
46
          xml.args do
172✔
47
            xml.name asset_name
172✔
48
            xml.namespace namespace if namespace.present?
172✔
49
            yield xml if block_given?
172✔
50
            collection_xml(xml)
172✔
51
            if @pid.present?
172✔
52
              xml.pid @pid
172✔
53
            end
54
          end
55
        end
56
      end
57

58
      def collection_xml(xml)
3✔
59
        xml.collection do
172✔
60
          xml.parent.set_attribute("cascade-contained-asset-index", true)
172✔
61
          xml.parent.set_attribute("contained-asset-index", true)
172✔
62
          xml.parent.set_attribute("unique-name-index", true)
172✔
63
          xml.text(true)
172✔
64
        end
65
        xml.type "application/arc-asset-collection"
172✔
66
      end
67
  end
68
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc