raml-org / raml-tck

Test Compatibility Kit for RAML 1.0
http://raml-org.github.io/raml-tck/
8 stars 10 forks source link

Make interfaces consistent #24

Closed blakeembrey closed 7 years ago

blakeembrey commented 8 years ago

Using beta.10, uses: is giving an array of objects instead of a single map. Seems like the same issue as https://github.com/mulesoft-labs/raml-tck/issues/20, https://github.com/mulesoft-labs/raml-tck/issues/19 and https://github.com/mulesoft-labs/raml-tck/issues/16.

  "uses": [
    {
      "annotationTypes": [
        {
          "methodName": {
            "displayName": "methodName",
            "name": "methodName",
            "type": [
              "string"
            ],
            "repeat": false,
            "required": true,
            "__METADATA__": {
              "primitiveValuesMeta": {
                "displayName": {
                  "calculated": true
                },
                "repeat": {
                  "insertedAsDefault": true
                },
                "required": {
                  "insertedAsDefault": true
                }
              }
            }
          }
        },
        {
          "displayName": {
            "displayName": "displayName",
            "name": "displayName",
            "type": [
              "string"
            ],
            "repeat": false,
            "required": true,
            "__METADATA__": {
              "primitiveValuesMeta": {
                "displayName": {
                  "calculated": true
                },
                "repeat": {
                  "insertedAsDefault": true
                },
                "required": {
                  "insertedAsDefault": true
                }
              }
            }
          }
        },
        {
          "group": {
            "displayName": "group",
            "name": "group",
            "type": [
              "array"
            ],
            "repeat": false,
            "required": true,
            "__METADATA__": {
              "primitiveValuesMeta": {
                "displayName": {
                  "calculated": true
                },
                "repeat": {
                  "insertedAsDefault": true
                },
                "required": {
                  "insertedAsDefault": true
                }
              }
            }
          }
        },
        {
          "groups": {
            "displayName": "groups",
            "name": "groups",
            "type": [
              "array"
            ],
            "repeat": false,
            "required": true,
            "__METADATA__": {
              "primitiveValuesMeta": {
                "displayName": {
                  "calculated": true
                },
                "repeat": {
                  "insertedAsDefault": true
                },
                "required": {
                  "insertedAsDefault": true
                }
              }
            }
          }
        }
      ],
      "name": "client"
    }
  ],
sichvoge commented 8 years ago

Agree; uses should be a map of key-value pairs where it's key is the "namespace" of a library and the value the library itself. The behaviour of uses will change in RC2, just as a reminder:

https://github.com/raml-org/raml-spec/issues/226

KonstantinSviridov commented 8 years ago

So, the suggestion is to serialize uses as

uses: {
  libName1:{
    lib-1-content
  },
  libName2:{
    lib-2-content
  }
}

For me it's ok.

@svacas, what do you think?

svacas commented 8 years ago

LGTMT

sichvoge commented 8 years ago

@KonstantinSviridov is this fixed and can this issue be closed?