ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yus...@apache.org
Subject [02/12] ambari git commit: AMBARI-17213. Create ambari workflow designer contrib view. (Venkat Ranganathan via yusaku)
Date Tue, 09 Aug 2016 20:14:55 GMT
http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/public/node-templates.html
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/node-templates.html b/contrib/views/wfmanager/src/main/resources/ui/public/node-templates.html
new file mode 100644
index 0000000..01cbf83
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/public/node-templates.html
@@ -0,0 +1,158 @@
+<!--
+~    Licensed to the Apache Software Foundation (ASF) under one or more
+~    contributor license agreements.  See the NOTICE file distributed with
+~    this work for additional information regarding copyright ownership.
+~    The ASF licenses this file to You under the Apache License, Version 2.0
+~    (the "License"); you may not use this file except in compliance with
+~    the License.  You may obtain a copy of the License at
+~
+~        http://www.apache.org/licenses/LICENSE-2.0
+~
+~    Unless required by applicable law or agreed to in writing, software
+~    distributed under the License is distributed on an "AS IS" BASIS,
+~    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~    See the License for the specific language governing permissions and
+~    limitations under the License.
+-->
+<!-- INJECT TEMPLATES. We can't put those safely and cleanly elsewhere (e.g. .hbs file) -->
+
+<div id="templates_container" style="display:none">
+    <script type="text/x-handlebars-template" id="start_tmpl">
+    <div id="start" class="node start">
+        <i class="fa fa-play"></i>
+        <!--         <input required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" id="start_name" data-toggle="tooltip" class="editable" value="Start" placeholder="Start">
+        -->
+    </div>
+    </script>
+    <script type="text/x-handlebars-template" id="end_tmpl">
+    <div id="end" class="node end">
+        <i class="fa fa-stop"></i>
+        <!-- <input required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" id="start_name" data-toggle="tooltip" title="{{name}}" class="editable" value="End" placeholder="End"> -->
+    </div>
+    </script>
+    <script type="text/x-handlebars-template" id="dummy_tmpl">
+    <div id="{{id}}" data-type="" data-from="{{from}}" data-to="{{to}}" class="node branch">
+    <div class="dummyAction">{{label}}</div>
+
+            <!--input required disabled pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" id="{{id}}_name" data-toggle="tooltip" title="{{name}}" class="{{dynClass}}" value="{{label}}" placeholder="Action Name">
+
+
+        <div class="node_actions node_left" onclick="{{delCallbackAsStr}}"><i class="fa fa-trash-o"></i></div-->
+    </div>
+    </script>
+    <script id="action_tmpl" type="text/x-handlebars-template">
+    <div id="{{id}}" class="node action_node {{classNames}} infoBackGround ">
+        <div class="node_actions node_left" onclick="{{delCallbackAsStr}}">
+            <i class="fa fa-trash-o"></i>
+        </div>
+        <div class="action_node_data">
+            <i class="fa fa-{{icon}}"></i>
+            <input required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" id="{{id}}_name" data-toggle="tooltip" title="{{name}}" class="editable" value="{{name}}" placeholder="Action Name">
+        </div>
+        <div class=" action_node_button">
+            <a data-toggle="modal" data-target="#sparkProperties">
+                <i class="fa fa-2x fa-cog node_properties" node_action="{{type}}" nodeId="{{id}}_name" onclick="{{modalCallbackHandler}}"></i>
+            </a>
+        </div>
+    </div>
+    </script>
+
+    <script id="notification" type="text/x-handlebars-template">
+    <div id="" class="notification">
+        <div class='alert alert-info'> <a href='#' class='close' data-dismiss='alert' aria-label='close'>&times;</a> {{message}}</div>
+    </div>
+    </script>
+    <script id="fork_tmpl" type="text/x-handlebars-template">
+    <div id="fork_{{id}}" class="node fork control_flow_node"  data-node-type="fork">
+        <i class="fa fa-sitemap"></i>
+        <br/>
+            <div class="node_actions node_left" onclick="{{delCallbackAsStr}}">
+                <i class="fa fa-trash-o"></i>
+            </div>
+                    <input id="fork_{{id}}_name" required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" data-toggle="tooltip" title="{{name}}" class="editable" value="fork" placeholder="fork">
+        <div id="{{id}}_po" class="node_actions node_bottom" onclick="{{forkAddCallbackAsStr}}">
+            <i class="fa fa-plus"></i>
+        </div>
+    </div>
+    <div id="join_{{id}}" class="node join control_flow_node">
+        <i class="fa fa-sitemap fa-rotate-180"></i>
+        <br/>
+        <input required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" id="join_{{id}}_name" data-toggle="tooltip" title="{{name}}" class="editable" value="join" placeholder="join">
+    </div>
+    </script>
+    <script id="kill_tmpl" type="text/x-handlebars-template">
+    <div id="kill_{{id}}" class="node killNode">
+        <i class="fa fa-stop redColor"></i>
+        <input required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" data-toggle="tooltip" title="{{name}}" class="editable" value="{{name}}" placeholder="End">
+    </div>
+    </script>
+    <script id="condition_tmpl" type="text/x-handlebars-template">
+    <div id="{{id}}" class="node">
+        <input required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" name="{{id}}_name" data-toggle="tooltip" title="{{name}}" class="editable" value="{{name}}" placeholder="End">
+    </div>
+    </script>
+    <script id="decision_tmpl" type="text/x-handlebars-template">
+
+    <div id="decision_{{id}}" class="node decision_node control_flow_node {{classNames}} " data-node-type="decision">
+        <br/>
+            <div class="node_actions node_left" onclick="{{delCallbackAsStr}}">
+                <i class="fa fa-trash-o"></i>
+            </div>        <!--input type="hidden" id="fork_{{id}}_name" required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" data-toggle="tooltip" title="{{name}}" class="editable" value="fork" placeholder="fork"-->
+        <div id="{{id}}_po" class="node_actions node_bottom decisionSplit" onclick="{{forkAddCallbackAsStr}}">
+            <i class="fa fa-plus"></i>
+        </div>
+        <div class=" action_node_button decisionNodeHandler">
+            <a data-toggle="modal" data-target="#sparkProperties">
+                <i class="fa fa-2x fa-cog node_properties" node_action="{{type}}" nodeId="decision_{{id}}" onclick="{{modalCallbackHandler}}"></i>
+            </a>
+        </div>
+    </div>
+    <div id="condJoin_{{id}}" class="node join control_flow_node condJoin">
+        <br/>
+        <!--input type="hidden" required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" id="join_{{id}}_name" data-toggle="tooltip" title="{{name}}" class="editable" value="join" placeholder="join"-->
+    </div>
+
+
+    <!--div id="{{id}}" class="node decision_node control_flow_node {{classNames}} ">
+        <div class="content">
+            <div class="node_actions node_left" onclick="{{delCallbackAsStr}}">
+                <i class="fa fa-trash-o"></i>
+            </div>
+            <div id="{{id}}_po" class="node_actions node_bottom action_node_button" >
+                <i class="fa fa-share-alt fa-rotate-90" node_action="{{type}}"  nodeId={{id}}_name onclick="{{caseAddCallbackAsStr}}"></i>
+            </div>
+            <input type="hidden" class="decisionBox" required pattern="([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}" id="{{id}}_name" data-toggle="tooltip" title="{{name}}" class="editable" placeholder="Action Name" >
+            <div class=" action_node_button decisionNodeHandler">
+                <a data-toggle="modal" data-target="#sparkProperties">
+                    <i class="fa fa-2x fa-cog node_properties" node_action="{{type}}" nodeId="{{id}}_name" onclick="{{modalCallbackHandler}}"></i>
+                </a>
+            </div>
+        </div>
+    </div-->
+    </script>
+    <script id="actions_list_tmpl" type="text/x-handlebars-template">
+    <h4>Control Flow Nodes</h4>
+    <ul class="actions_list_left control_flow">
+        <li onclick="{{onClick}}" data-name="fork" data-type="fork" class="dr_action _fork enabled"> <i class="fa fa-sitemap"></i> Fork </li>
+        <li onclick="{{onClick}}" class="dr_action switch enabled" data-name="Decision" data-type="decision"> <i class="fa fa-sliders"></i> Decision </li>
+    </ul>
+    <div class="clearfix"></div>
+    <h4>Action Nodes</h4>
+    <ul class="actions_list_left">
+        <li onclick="{{onClick}}" class="dr_action enabled" data-name="Hive" data-type="hive"> <i class="fa fa-cog"></i> Hive </li>
+        <li onclick="{{onClick}}" class="dr_action disabled hide" data-name="Hive" data-type="hive2"> <i class="fa fa-cog"></i> Hive2</li>
+        <li onclick="{{onClick}}" class="dr_action enabled" data-name="Sqoop" data-type="sqoop"> <i class="fa fa-database"></i> Sqoop </li>
+        <li onclick="{{onClick}}" class="dr_action enabled" data-name="Pig" data-type="pig"> <i class="fa fa-product-hunt"></i>&nbsp; Pig </li>
+        <li onclick="{{onClick}}" class="dr_action disabled hide" data-name="HDFS" data-type="hdfs"> <i class="fa fa-copy"></i> HDFS </li>
+        <li onclick="{{onClick}}" class="dr_action enabled" data-name="Java" data-type="java"> <i class="fa fa-code"></i> Java </li>
+        <li onclick="{{onClick}}" class="dr_action enabled" data-name="Shell" data-type="shell"> <i class="fa fa-terminal"></i> Shell </li>
+        <li class="dr_action disabled hide" data-name="distcp" data-type="distcp"> <i class="fa fa-clone"></i> distcp </li>
+        <li onclick="{{onClick}}" class="dr_action hide" data-name="MR" data-type="mr"> <i class="fa fa-asterisk"></i> MapRed </li>
+        <li class="dr_action disabled hide" data-name="SSH" data-type="ssh"> <i class="fa fa-terminal"></i> SSH </li>
+        <li  onclick="{{onClick}}" class="dr_action enabled" data-name="Spark" data-type="spark"> <i class="fa fa-star"></i> Spark </li>
+        <li class="dr_action disabled hide" data-name="Stream" data-type="stream"> <i class="fa fa-exchange"></i> Stream </li>
+        <li class="dr_action disabled hide" data-name="Email" data-type="email"> <i class="fa fa-envelope"></i> Email </li>
+    </ul>
+    <div class="clearfix"></div>
+    </script>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/public/robots.txt
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/robots.txt b/contrib/views/wfmanager/src/main/resources/ui/public/robots.txt
new file mode 100644
index 0000000..f591645
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/public/robots.txt
@@ -0,0 +1,3 @@
+# http://www.robotstxt.org
+User-agent: *
+Disallow:

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/workflow.xml
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/workflow.xml b/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/workflow.xml
new file mode 100644
index 0000000..27b6575
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/public/sampledata/workflow.xml
@@ -0,0 +1,73 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<workflow-app name="dsf"
+	xmlns="uri:oozie:workflow:0.5">
+	<start to="decision0"/>
+	<decision name="decision0">
+		<switch>
+			<case to="hive2">lkdfg</case>
+			<case to="hive1">fgdg</case>
+			<case to="shell">sdlkf</case>
+			<default to="hive"/>
+		</switch>
+	</decision>
+	<action name="hive">
+		<hive
+			xmlns="uri:oozie:hive-action:0.6">
+			<job-tracker>${jobTracker}</job-tracker>
+			<name-node>${nameNode}</name-node>
+			<script>sdf</script>
+		</hive>
+		<ok to="end"/>
+		<error to="kill"/>
+	</action>
+	<action name="hive2">
+		<hive
+			xmlns="uri:oozie:hive-action:0.6">
+			<job-tracker>${jobTracker}</job-tracker>
+			<name-node>${nameNode}</name-node>
+			<script>sdf</script>
+		</hive>
+		<ok to="end"/>
+		<error to="kill"/>
+	</action>
+	<action name="hive1">
+		<hive
+			xmlns="uri:oozie:hive-action:0.6">
+			<job-tracker>${jobTracker}</job-tracker>
+			<name-node>${nameNode}</name-node>
+			<script>sdf</script>
+		</hive>
+		<ok to="end"/>
+		<error to="kill"/>
+	</action>
+	<action name="shell">
+		<shell
+			xmlns="uri:oozie:shell-action:0.3">
+			<job-tracker>${jobTracker}</job-tracker>
+			<name-node>${nameNode}</name-node>
+			<exec>sfd</exec>
+		</shell>
+		<ok to="end"/>
+		<error to="kill"/>
+	</action>
+	<kill name="kill">
+		<message>${wf:errorMessage(wf:lastErrorNode())}</message>
+	</kill>
+	<end name="end"/>
+</workflow-app>

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/testem.json
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/testem.json b/contrib/views/wfmanager/src/main/resources/ui/testem.json
new file mode 100644
index 0000000..0f35392
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/testem.json
@@ -0,0 +1,12 @@
+{
+  "framework": "qunit",
+  "test_page": "tests/index.html?hidepassed",
+  "disable_watching": true,
+  "launch_in_ci": [
+    "PhantomJS"
+  ],
+  "launch_in_dev": [
+    "PhantomJS",
+    "Chrome"
+  ]
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/.jshintrc
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/.jshintrc b/contrib/views/wfmanager/src/main/resources/ui/tests/.jshintrc
new file mode 100644
index 0000000..6ec0b7c
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/.jshintrc
@@ -0,0 +1,52 @@
+{
+  "predef": [
+    "document",
+    "window",
+    "location",
+    "setTimeout",
+    "$",
+    "-Promise",
+    "define",
+    "console",
+    "visit",
+    "exists",
+    "fillIn",
+    "click",
+    "keyEvent",
+    "triggerEvent",
+    "find",
+    "findWithAssert",
+    "wait",
+    "DS",
+    "andThen",
+    "currentURL",
+    "currentPath",
+    "currentRouteName"
+  ],
+  "node": false,
+  "browser": false,
+  "boss": true,
+  "curly": true,
+  "debug": false,
+  "devel": false,
+  "eqeqeq": true,
+  "evil": true,
+  "forin": false,
+  "immed": false,
+  "laxbreak": false,
+  "newcap": true,
+  "noarg": true,
+  "noempty": false,
+  "nonew": false,
+  "nomen": false,
+  "onevar": false,
+  "plusplus": false,
+  "regexp": false,
+  "undef": true,
+  "sub": true,
+  "strict": false,
+  "white": false,
+  "eqnull": true,
+  "esnext": true,
+  "unused": true
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/destroy-app.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/destroy-app.js b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/destroy-app.js
new file mode 100644
index 0000000..ed11504
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/destroy-app.js
@@ -0,0 +1,22 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+import Ember from 'ember';
+
+export default function destroyApp(application) {
+    Ember.run(application, 'destroy');
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/module-for-acceptance.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/module-for-acceptance.js b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/module-for-acceptance.js
new file mode 100644
index 0000000..cde04c9
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/module-for-acceptance.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+import { module } from 'qunit';
+import startApp from '../helpers/start-app';
+import destroyApp from '../helpers/destroy-app';
+
+export default function (name, options = {}) {
+    module(name, {
+        beforeEach() {
+            this.application = startApp();
+
+            if (options.beforeEach) {
+                options.beforeEach.apply(this, arguments);
+            }
+        },
+
+        afterEach() {
+            destroyApp(this.application);
+
+            if (options.afterEach) {
+                options.afterEach.apply(this, arguments);
+            }
+        }
+    });
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/resolver.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/resolver.js b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/resolver.js
new file mode 100644
index 0000000..afefbb4
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/resolver.js
@@ -0,0 +1,28 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+import Resolver from '../../resolver';
+import config from '../../config/environment';
+
+const resolver = Resolver.create();
+
+resolver.namespace = {
+    modulePrefix: config.modulePrefix,
+    podModulePrefix: config.podModulePrefix
+};
+
+export default resolver;

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/start-app.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/start-app.js b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/start-app.js
new file mode 100644
index 0000000..be01b0a
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/helpers/start-app.js
@@ -0,0 +1,35 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+import Ember from 'ember';
+import Application from '../../app';
+import config from '../../config/environment';
+
+export default function startApp(attrs) {
+    let application;
+
+    let attributes = Ember.merge({}, config.APP);
+    attributes = Ember.merge(attributes, attrs); // use defaults, but you can override;
+
+    Ember.run(() => {
+        application = Application.create(attributes);
+        application.setupForTesting();
+        application.injectTestHelpers();
+    });
+
+    return application;
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/index.html
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/index.html b/contrib/views/wfmanager/src/main/resources/ui/tests/index.html
new file mode 100644
index 0000000..d99844a
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/index.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<!--
+  ~    Licensed to the Apache Software Foundation (ASF) under one or more
+  ~    contributor license agreements.  See the NOTICE file distributed with
+  ~    this work for additional information regarding copyright ownership.
+  ~    The ASF licenses this file to You under the Apache License, Version 2.0
+  ~    (the "License"); you may not use this file except in compliance with
+  ~    the License.  You may obtain a copy of the License at
+  ~
+  ~        http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~    Unless required by applicable law or agreed to in writing, software
+  ~    distributed under the License is distributed on an "AS IS" BASIS,
+  ~    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~    See the License for the specific language governing permissions and
+  ~    limitations under the License.
+  -->
+
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>OozieDesigner Tests</title>
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    {{content-for "head"}}
+    {{content-for "test-head"}}
+
+    <link rel="stylesheet" href="assets/vendor.css">
+    <link rel="stylesheet" href="assets/oozie-designer.css">
+    <link rel="stylesheet" href="assets/test-support.css">
+
+    {{content-for "head-footer"}}
+    {{content-for "test-head-footer"}}
+  </head>
+  <body>
+    {{content-for "body"}}
+    {{content-for "test-body"}}
+
+    <script src="testem.js" integrity=""></script>
+    <script src="assets/vendor.js"></script>
+    <script src="assets/test-support.js"></script>
+    <script src="assets/oozie-designer.js"></script>
+    <script src="assets/tests.js"></script>
+    <script src="assets/test-loader.js"></script>
+
+    {{content-for "body-footer"}}
+    {{content-for "test-body-footer"}}
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-credential-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-credential-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-credential-config-test.js
new file mode 100644
index 0000000..cdf494a
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-credential-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('action-credential-config', 'Integration | Component | action credential config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{action-credential-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#action-credential-config}}
+      template block text
+    {{/action-credential-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-version-select-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-version-select-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-version-select-test.js
new file mode 100644
index 0000000..e28beee
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/action-version-select-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('action-version-select', 'Integration | Component | action version select', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{action-version-select}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#action-version-select}}
+      template block text
+    {{/action-version-select}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/archive-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/archive-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/archive-config-test.js
new file mode 100644
index 0000000..7171366
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/archive-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('archive-config', 'Integration | Component | archive config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{archive-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#archive-config}}
+      template block text
+    {{/archive-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/arg-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/arg-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/arg-config-test.js
new file mode 100644
index 0000000..e5e16af
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/arg-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('arg-config', 'Integration | Component | arg config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{arg-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#arg-config}}
+      template block text
+    {{/arg-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-job-details-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-job-details-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-job-details-test.js
new file mode 100644
index 0000000..f033a44
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/bundle-job-details-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('bundle-job-details', 'Integration | Component | bundle job details', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{bundle-job-details}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#bundle-job-details}}
+      template block text
+    {{/bundle-job-details}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-job-details-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-job-details-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-job-details-test.js
new file mode 100644
index 0000000..09554a2
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/coord-job-details-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('coord-job-details', 'Integration | Component | coord job details', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{coord-job-details}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#coord-job-details}}
+      template block text
+    {{/coord-job-details}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/credentials-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/credentials-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/credentials-config-test.js
new file mode 100644
index 0000000..b034dc7
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/credentials-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('credentials-config', 'Integration | Component | credentials config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{credentials-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#credentials-config}}
+      template block text
+    {{/credentials-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/decision-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/decision-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/decision-config-test.js
new file mode 100644
index 0000000..e802334
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/decision-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('decision-config', 'Integration | Component | decision config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{decision-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#decision-config}}
+      template block text
+    {{/decision-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-errors-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-errors-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-errors-test.js
new file mode 100644
index 0000000..5516af2
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/designer-errors-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('designer-errors', 'Integration | Component | designer errors', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{designer-errors}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#designer-errors}}
+      template block text
+    {{/designer-errors}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-test.js
new file mode 100644
index 0000000..1f5279b
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/distcp-action-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('distcp-action', 'Integration | Component | distcp action', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{distcp-action}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#distcp-action}}
+      template block text
+    {{/distcp-action}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-test.js
new file mode 100644
index 0000000..d51fb5e
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/email-action-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('email-action', 'Integration | Component | email action', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{email-action}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#email-action}}
+      template block text
+    {{/email-action}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/field-error-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/field-error-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/field-error-test.js
new file mode 100644
index 0000000..2e46cda
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/field-error-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('field-error', 'Integration | Component | field error', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{field-error}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#field-error}}
+      template block text
+    {{/field-error}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/file-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/file-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/file-config-test.js
new file mode 100644
index 0000000..3de7fd4
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/file-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('file-config', 'Integration | Component | file config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{file-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#file-config}}
+      template block text
+    {{/file-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/fs-action-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/fs-action-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/fs-action-test.js
new file mode 100644
index 0000000..f4abb25
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/fs-action-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('fs-action', 'Integration | Component | fs action', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{fs-action}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#fs-action}}
+      template block text
+    {{/fs-action}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/global-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/global-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/global-config-test.js
new file mode 100644
index 0000000..868cf9a
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/global-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('global-config', 'Integration | Component | global config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{global-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#global-config}}
+      template block text
+    {{/global-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/header-logo-user-bar-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/header-logo-user-bar-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/header-logo-user-bar-test.js
new file mode 100644
index 0000000..9235c71
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/header-logo-user-bar-test.js
@@ -0,0 +1,34 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('header-logo-user-bar', 'Integration | Component | header logo user bar', {
+    integration: true
+});
+
+test('it renders', function (assert) {
+    // Set any properties with this.set('myProperty', 'value');
+    // Handle any actions with this.on('myAction', function(val) { ... });"
+
+    this.render(hbs `{{header-logo-user-bar}}`);
+
+    // Expect header exists
+    assert.equal(this.$("#header").length, 1);
+
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/help-icon-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/help-icon-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/help-icon-test.js
new file mode 100644
index 0000000..1aec8b5
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/help-icon-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('help-icon', 'Integration | Component | help icon', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{help-icon}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#help-icon}}
+      template block text
+    {{/help-icon}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive-action-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive-action-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive-action-test.js
new file mode 100644
index 0000000..a387342
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive-action-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('hive-action', 'Integration | Component | hive action', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{hive-action}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#hive-action}}
+      template block text
+    {{/hive-action}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive2-action-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive2-action-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive2-action-test.js
new file mode 100644
index 0000000..b2f2757
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/hive2-action-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('hive2-action', 'Integration | Component | hive2 action', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{hive2-action}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#hive2-action}}
+      template block text
+    {{/hive2-action}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/java-action-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/java-action-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/java-action-test.js
new file mode 100644
index 0000000..b726566
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/java-action-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('java-action', 'Integration | Component | java action', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{java-action}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#java-action}}
+      template block text
+    {{/java-action}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jdbc-url-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jdbc-url-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jdbc-url-test.js
new file mode 100644
index 0000000..5249efa
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jdbc-url-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('jdbc-url', 'Integration | Component | jdbc url', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{jdbc-url}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#jdbc-url}}
+      template block text
+    {{/jdbc-url}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-modal-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-modal-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-modal-test.js
new file mode 100644
index 0000000..9ecbf47
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-modal-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('job-details-modal', 'Integration | Component | job details modal', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{job-details-modal}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#job-details-modal}}
+      template block text
+    {{/job-details-modal}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-test.js
new file mode 100644
index 0000000..ec0be56
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-details-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('job-details', 'Integration | Component | job details', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{job-details}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#job-details}}
+      template block text
+    {{/job-details}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-log-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-log-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-log-test.js
new file mode 100644
index 0000000..b1c2d44
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-log-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('job-log', 'Integration | Component | job log', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{job-log}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#job-log}}
+      template block text
+    {{/job-log}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-row-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-row-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-row-test.js
new file mode 100644
index 0000000..ffe6e94
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/job-row-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('job-row', 'Integration | Component | job row', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{job-row}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#job-row}}
+      template block text
+    {{/job-row}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jobxml-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jobxml-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jobxml-config-test.js
new file mode 100644
index 0000000..424d311
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/jobxml-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('jobxml-config', 'Integration | Component | jobxml config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{jobxml-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#jobxml-config}}
+      template block text
+    {{/jobxml-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/map-red-action-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/map-red-action-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/map-red-action-test.js
new file mode 100644
index 0000000..0f5df30
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/map-red-action-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('map-red-action', 'Integration | Component | map red action', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{map-red-action}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#map-red-action}}
+      template block text
+    {{/map-red-action}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/name-value-config-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/name-value-config-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/name-value-config-test.js
new file mode 100644
index 0000000..e63f56a
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/name-value-config-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('name-value-config', 'Integration | Component | name value config', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{name-value-config}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#name-value-config}}
+      template block text
+    {{/name-value-config}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/named-properties-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/named-properties-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/named-properties-test.js
new file mode 100644
index 0000000..0307370
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/named-properties-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('named-properties', 'Integration | Component | named properties', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{named-properties}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#named-properties}}
+      template block text
+    {{/named-properties}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/c7742e7f/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/pass-word-test.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/pass-word-test.js b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/pass-word-test.js
new file mode 100644
index 0000000..1eab9c0
--- /dev/null
+++ b/contrib/views/wfmanager/src/main/resources/ui/tests/integration/components/pass-word-test.js
@@ -0,0 +1,40 @@
+/*
+ *    Licensed to the Apache Software Foundation (ASF) under one or more
+ *    contributor license agreements.  See the NOTICE file distributed with
+ *    this work for additional information regarding copyright ownership.
+ *    The ASF licenses this file to You under the Apache License, Version 2.0
+ *    (the "License"); you may not use this file except in compliance with
+ *    the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('pass-word', 'Integration | Component | pass word', {
+  integration: true
+});
+
+test('it renders', function(assert) {
+  // Set any properties with this.set('myProperty', 'value');
+  // Handle any actions with this.on('myAction', function(val) { ... });"
+
+  this.render(hbs`{{pass-word}}`);
+
+  assert.equal(this.$().text().trim(), '');
+
+  // Template block usage:"
+  this.render(hbs`
+    {{#pass-word}}
+      template block text
+    {{/pass-word}}
+  `);
+
+  assert.equal(this.$().text().trim(), 'template block text');
+});


Mime
View raw message