From 7f2bbc7c5913a39d49fdc6533c708939b47a9233 Mon Sep 17 00:00:00 2001 From: shangxdy Date: Thu, 8 Dec 2016 11:42:45 +0800 Subject: Add output validation test case for substitution. According to currently implementation, add new test case for substitution mappings output validation: 1. Unknown output; 2. Missing required output. JIRA:PARSER-116 Change-Id: I84dc80c2bc6fd8b63dd7c4ddf0b81dc5148a4ceb Signed-off-by: shangxdy --- ...ransactionsubsystem_invalid_missing_output.yaml | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml (limited to 'tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml') diff --git a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml new file mode 100644 index 0000000..c92e5f8 --- /dev/null +++ b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml @@ -0,0 +1,92 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +description: > + This template is a test template which contains invalid output + needed for substitution mappings. + The outputs defined by the topology template have to match the + attributes of the node type or the substituted node template, + and the observable attributes of the substituted node template + have to be defined as attributes of the node type or outputs in + the topology template. + But this template misses output of receiver_port which is not + defined in node type of example.TransactionSubsystem, so it will + be validated error for substitution mappings. + +imports: + - ../definitions.yaml + +topology_template: + description: Template of a database including its hosting stack. + + inputs: + mq_server_ip: + type: string + description: IP address of the message queuing server to receive messages from. + default: 127.0.0.1 + receiver_port: + type: integer + description: Port to be used for receiving messages. + default: 8080 + my_cpus: + type: integer + description: Number of CPUs for the server. + default: 2 + constraints: + - valid_values: [ 1, 2, 4, 8 ] + + substitution_mappings: + node_type: example.TransactionSubsystem + capabilities: + message_receiver: [ app, message_receiver ] + requirements: + database_endpoint: [ app, database ] + + node_templates: + app: + type: example.SomeApp + properties: + admin_user: foo + pool_size: 10 + capabilities: + message_receiver: + properties: + server_ip: { get_input: mq_server_ip } + requirements: + - host: + node: websrv + + websrv: + type: tosca.nodes.WebServer + capabilities: + data_endpoint: + properties: + port_name: { get_input: receiver_port } + requirements: + - host: + node: server + + server: + type: tosca.nodes.Compute + capabilities: + host: + properties: + disk_size: 10 GB + num_cpus: { get_input: my_cpus } + mem_size: 4096 MB + os: + properties: + architecture: x86_64 + type: Linux + distribution: Ubuntu + version: 14.04 + + outputs: + receiver_ip: + description: private IP address of the message receiver application + value: { get_attribute: [ server, private_address ] } + + # This output is invalid if comment receiver_out out only for + # substituion mappings +# receiver_port: +# description: receiver_port of the message receiver application +# value: { get_input: receiver_port } -- cgit 1.2.3-korg