Repository: tez Updated Branches: refs/heads/TEZ-2980 d3ef35bfd -> f3841e434
TEZ-3041. Tez UI 2: Create Task & Attempt details page with sub tables (sree) Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/f3841e43 Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/f3841e43 Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/f3841e43 Branch: refs/heads/TEZ-2980 Commit: f3841e434604e43df5ad674f5cb81f47743d1751 Parents: d3ef35b Author: Sreenath Somarajapuram <s...@apache.org> Authored: Tue Jan 19 01:31:55 2016 +0530 Committer: Sreenath Somarajapuram <s...@apache.org> Committed: Tue Jan 19 01:31:55 2016 +0530 ---------------------------------------------------------------------- TEZ-2980-CHANGES.txt | 1 + .../src/main/webapp/app/controllers/attempt.js | 53 +++++++++++++ .../webapp/app/controllers/attempt/index.js | 22 ++++++ .../main/webapp/app/controllers/dag/attempts.js | 20 ++++- .../main/webapp/app/controllers/dag/tasks.js | 10 ++- tez-ui2/src/main/webapp/app/controllers/task.js | 51 ++++++++++++ .../webapp/app/controllers/task/attempts.js | 81 ++++++++++++++++++++ .../main/webapp/app/controllers/task/index.js | 22 ++++++ .../webapp/app/controllers/vertex/attempts.js | 20 ++++- .../main/webapp/app/controllers/vertex/tasks.js | 10 ++- tez-ui2/src/main/webapp/app/router.js | 6 +- tez-ui2/src/main/webapp/app/routes/attempt.js | 31 ++++++++ .../src/main/webapp/app/routes/attempt/index.js | 33 ++++++++ tez-ui2/src/main/webapp/app/routes/task.js | 31 ++++++++ .../src/main/webapp/app/routes/task/attempts.js | 35 +++++++++ .../src/main/webapp/app/routes/task/index.js | 33 ++++++++ .../src/main/webapp/app/templates/attempt.hbs | 20 +++++ .../main/webapp/app/templates/attempt/index.hbs | 65 ++++++++++++++++ tez-ui2/src/main/webapp/app/templates/task.hbs | 20 +++++ .../main/webapp/app/templates/task/attempts.hbs | 33 ++++++++ .../main/webapp/app/templates/task/index.hbs | 57 ++++++++++++++ .../tests/unit/controllers/attempt-test.js | 36 +++++++++ .../unit/controllers/attempt/index-test.js | 34 ++++++++ .../webapp/tests/unit/controllers/task-test.js | 36 +++++++++ .../unit/controllers/task/attempts-test.js | 36 +++++++++ .../tests/unit/controllers/task/index-test.js | 34 ++++++++ .../webapp/tests/unit/routes/attempt-test.js | 32 ++++++++ .../tests/unit/routes/attempt/index-test.js | 45 +++++++++++ .../main/webapp/tests/unit/routes/task-test.js | 32 ++++++++ .../tests/unit/routes/task/attempts-test.js | 45 +++++++++++ .../webapp/tests/unit/routes/task/index-test.js | 45 +++++++++++ 31 files changed, 1022 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/TEZ-2980-CHANGES.txt ---------------------------------------------------------------------- diff --git a/TEZ-2980-CHANGES.txt b/TEZ-2980-CHANGES.txt index 3389c46..354816e 100644 --- a/TEZ-2980-CHANGES.txt +++ b/TEZ-2980-CHANGES.txt @@ -16,3 +16,4 @@ ALL CHANGES: TEZ-3038. Tez UI 2: Create DAG details page TEZ-3039. Tez UI 2: Create all sub-pages for DAG TEZ-3040. Tez UI 2: Create Vertex details page & sub tables + TEZ-3041. Tez UI 2: Create Task & Attempt details page with sub tables http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/attempt.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/attempt.js b/tez-ui2/src/main/webapp/app/controllers/attempt.js new file mode 100644 index 0000000..f17e317 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/controllers/attempt.js @@ -0,0 +1,53 @@ +/** + * 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 AbstractController from './abstract'; + +export default AbstractController.extend({ + breadcrumbs: Ember.computed("model.dag", function () { + var dagName = this.get("model.dag.name"), + vertexName = this.get("model.vertexName"), + taskIndex = this.get("model.taskIndex"), + attemptNo = this.get("model.index"); + + return [{ + text: `DAG [ ${dagName} ]`, + routeName: "dag.index", + model: this.get("model.dagID") + },{ + text: `Vertex [ ${vertexName} ]`, + routeName: "vertex.index", + model: this.get("model.vertexID") + },{ + text: `Task [ ${taskIndex} ]`, + routeName: "task.index", + model: this.get("model.taskID") + },{ + text: `Attempt [ ${attemptNo} ]`, + routeName: "attempt.index", + model: this.get("model.entityID") + }]; + }), + + tabs: [{ + text: "Attempt Details", + routeName: "attempt.index" + }] +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/attempt/index.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/attempt/index.js b/tez-ui2/src/main/webapp/app/controllers/attempt/index.js new file mode 100644 index 0000000..9745328 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/controllers/attempt/index.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 PageController from '../page'; + +export default PageController.extend({ +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/dag/attempts.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/dag/attempts.js b/tez-ui2/src/main/webapp/app/controllers/dag/attempts.js index c2e3950..d9cb9e9 100644 --- a/tez-ui2/src/main/webapp/app/controllers/dag/attempts.js +++ b/tez-ui2/src/main/webapp/app/controllers/dag/attempts.js @@ -28,11 +28,27 @@ export default TablePageController.extend({ columns: ColumnDefinition.make([{ id: 'index', headerTitle: 'Attempt No', - contentPath: 'index' + contentPath: 'index', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "attempt", + model: row.get("entityID"), + text: row.get("index") + }; + } },{ id: 'taskIndex', headerTitle: 'Task Index', - contentPath: 'taskIndex' + contentPath: 'taskIndex', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "task", + model: row.get("taskID"), + text: row.get("taskIndex") + }; + } },{ id: 'vertexName', headerTitle: 'Vertex Index', http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/dag/tasks.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/dag/tasks.js b/tez-ui2/src/main/webapp/app/controllers/dag/tasks.js index 4721b81..1a5c776 100644 --- a/tez-ui2/src/main/webapp/app/controllers/dag/tasks.js +++ b/tez-ui2/src/main/webapp/app/controllers/dag/tasks.js @@ -28,7 +28,15 @@ export default TablePageController.extend({ columns: ColumnDefinition.make([{ id: 'index', headerTitle: 'Task Index', - contentPath: 'index' + contentPath: 'index', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "task", + model: row.get("entityID"), + text: row.get("index") + }; + } },{ id: 'vertexName', headerTitle: 'Vertex Name', http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/task.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/task.js b/tez-ui2/src/main/webapp/app/controllers/task.js new file mode 100644 index 0000000..5b2510c --- /dev/null +++ b/tez-ui2/src/main/webapp/app/controllers/task.js @@ -0,0 +1,51 @@ +/** + * 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 AbstractController from './abstract'; + +export default AbstractController.extend({ + breadcrumbs: Ember.computed("model.dag", function () { + var dagName = this.get("model.dag.name"), + vertexName = this.get("model.vertexName"), + taskIndex = this.get("model.index"); + + return [{ + text: `DAG [ ${dagName} ]`, + routeName: "dag.index", + model: this.get("model.dagID") + },{ + text: `Vertex [ ${vertexName} ]`, + routeName: "vertex.index", + model: this.get("model.vertexID") + },{ + text: `Task [ ${taskIndex} ]`, + routeName: "task.index", + model: this.get("model.entityID") + }]; + }), + + tabs: [{ + text: "Task Details", + routeName: "task.index" + }, { + text: "Task Attempts", + routeName: "task.attempts" + }] +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/task/attempts.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/task/attempts.js b/tez-ui2/src/main/webapp/app/controllers/task/attempts.js new file mode 100644 index 0000000..5b97033 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/controllers/task/attempts.js @@ -0,0 +1,81 @@ +/** + * 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 TablePageController from '../table-page'; +import ColumnDefinition from 'em-table/utils/column-definition'; + +export default TablePageController.extend({ + breadcrumbs: [{ + text: "Task Attempts", + routeName: "task.attempts", + }], + + columns: ColumnDefinition.make([{ + id: 'index', + headerTitle: 'Attempt No', + contentPath: 'index', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "attempt", + model: row.get("entityID"), + text: row.get("index") + }; + } + },{ + id: 'status', + headerTitle: 'Status', + contentPath: 'status', + cellComponentName: 'em-table-status-cell' + },{ + id: 'progress', + headerTitle: 'Progress', + contentPath: 'progress', + cellComponentName: 'em-table-progress-cell', + observePath: true + },{ + id: 'startTime', + headerTitle: 'Start Time', + contentPath: 'startTime', + cellDefinition: { + type: 'date' + } + },{ + id: 'endTime', + headerTitle: 'End Time', + contentPath: 'endTime', + cellDefinition: { + type: 'date' + } + },{ + id: 'duration', + headerTitle: 'Duration', + contentPath: 'duration', + cellDefinition: { + type: 'duration' + } + },{ + id: 'containerID', + headerTitle: 'Container', + contentPath: 'containerID' + },{ + id: 'nodeID', + headerTitle: 'Node', + contentPath: 'nodeID' + }]) +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/task/index.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/task/index.js b/tez-ui2/src/main/webapp/app/controllers/task/index.js new file mode 100644 index 0000000..9745328 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/controllers/task/index.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 PageController from '../page'; + +export default PageController.extend({ +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/vertex/attempts.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/vertex/attempts.js b/tez-ui2/src/main/webapp/app/controllers/vertex/attempts.js index 61a6a63..b6a4389 100644 --- a/tez-ui2/src/main/webapp/app/controllers/vertex/attempts.js +++ b/tez-ui2/src/main/webapp/app/controllers/vertex/attempts.js @@ -28,11 +28,27 @@ export default TablePageController.extend({ columns: ColumnDefinition.make([{ id: 'index', headerTitle: 'Attempt No', - contentPath: 'index' + contentPath: 'index', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "attempt", + model: row.get("entityID"), + text: row.get("index") + }; + } },{ id: 'taskIndex', headerTitle: 'Task Index', - contentPath: 'taskIndex' + contentPath: 'taskIndex', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "task", + model: row.get("taskID"), + text: row.get("taskIndex") + }; + } },{ id: 'status', headerTitle: 'Status', http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/controllers/vertex/tasks.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/controllers/vertex/tasks.js b/tez-ui2/src/main/webapp/app/controllers/vertex/tasks.js index ce67150..f35a022 100644 --- a/tez-ui2/src/main/webapp/app/controllers/vertex/tasks.js +++ b/tez-ui2/src/main/webapp/app/controllers/vertex/tasks.js @@ -28,7 +28,15 @@ export default TablePageController.extend({ columns: ColumnDefinition.make([{ id: 'index', headerTitle: 'Task Index', - contentPath: 'index' + contentPath: 'index', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "task", + model: row.get("entityID"), + text: row.get("index") + }; + } },{ id: 'status', headerTitle: 'Status', http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/router.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/router.js b/tez-ui2/src/main/webapp/app/router.js index e80c817..e907cc7 100644 --- a/tez-ui2/src/main/webapp/app/router.js +++ b/tez-ui2/src/main/webapp/app/router.js @@ -30,11 +30,15 @@ Router.map(function() { this.route('tasks'); this.route('attempts'); }); - this.route('app', {path: '/app/:app_id'}); this.route('vertex', {path: '/vertex/:vertex_id'}, function() { this.route('tasks'); this.route('attempts'); }); + this.route('task', {path: '/task/:task_id'}, function() { + this.route('attempts'); + }); + this.route('attempt', {path: '/attempt/:attempt_id'}, function () {}); + this.route('app', {path: '/app/:app_id'}, function () {}); }); export default Router; http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/routes/attempt.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/routes/attempt.js b/tez-ui2/src/main/webapp/app/routes/attempt.js new file mode 100644 index 0000000..71be6d2 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/routes/attempt.js @@ -0,0 +1,31 @@ +/** + * 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 AbstractRoute from './abstract'; + +export default AbstractRoute.extend({ + title: "Vertex", + + loaderQueryParams: { + id: "attempt_id" + }, + + model: function (params) { + return this.get("loader").queryRecord('attempt', this.queryFromParams(params).id); + } +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/routes/attempt/index.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/routes/attempt/index.js b/tez-ui2/src/main/webapp/app/routes/attempt/index.js new file mode 100644 index 0000000..f88737d --- /dev/null +++ b/tez-ui2/src/main/webapp/app/routes/attempt/index.js @@ -0,0 +1,33 @@ +/** + * 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 AbstractRoute from '../abstract'; + +export default AbstractRoute.extend({ + title: "DAG Details", + + setupController: function (controller, model) { + this._super(controller, model); + Ember.run.later(this, "startCrumbBubble"); + }, + + load: function (/*value, query*/) { + return this.get("loader").queryRecord('attempt', this.modelFor("attempt").id); + }, +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/routes/task.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/routes/task.js b/tez-ui2/src/main/webapp/app/routes/task.js new file mode 100644 index 0000000..42809c9 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/routes/task.js @@ -0,0 +1,31 @@ +/** + * 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 AbstractRoute from './abstract'; + +export default AbstractRoute.extend({ + title: "Vertex", + + loaderQueryParams: { + id: "task_id" + }, + + model: function (params) { + return this.get("loader").queryRecord('task', this.queryFromParams(params).id); + } +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/routes/task/attempts.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/routes/task/attempts.js b/tez-ui2/src/main/webapp/app/routes/task/attempts.js new file mode 100644 index 0000000..bc7af27 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/routes/task/attempts.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 AbstractRoute from '../abstract'; + +export default AbstractRoute.extend({ + title: "Task Attempts", + + setupController: function (controller, model) { + this._super(controller, model); + Ember.run.later(this, "startCrumbBubble"); + }, + + load: function (/*value, query*/) { + return this.get("loader").query('attempt', { + taskID: this.modelFor("task").id + }); + } +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/routes/task/index.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/routes/task/index.js b/tez-ui2/src/main/webapp/app/routes/task/index.js new file mode 100644 index 0000000..fd76df9 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/routes/task/index.js @@ -0,0 +1,33 @@ +/** + * 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 AbstractRoute from '../abstract'; + +export default AbstractRoute.extend({ + title: "DAG Details", + + setupController: function (controller, model) { + this._super(controller, model); + Ember.run.later(this, "startCrumbBubble"); + }, + + load: function (/*value, query*/) { + return this.get("loader").queryRecord('task', this.modelFor("task").id); + }, +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/templates/attempt.hbs ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/templates/attempt.hbs b/tez-ui2/src/main/webapp/app/templates/attempt.hbs new file mode 100644 index 0000000..308b905 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/templates/attempt.hbs @@ -0,0 +1,20 @@ +{{! + * 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. +}} + +{{tab-n-refresh tabs=tabs}} +{{outlet}} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/templates/attempt/index.hbs ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/templates/attempt/index.hbs b/tez-ui2/src/main/webapp/app/templates/attempt/index.hbs new file mode 100644 index 0000000..cf83afe --- /dev/null +++ b/tez-ui2/src/main/webapp/app/templates/attempt/index.hbs @@ -0,0 +1,65 @@ +{{! + * 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. +}} + +{{#if loaded}} + <table class='detail-list'> + <thead> + <tr> + <th colspan=2>Details</th> + </tr> + </thead> + <tbody> + <tr> + <td>Task Attempt ID</td> + <td>{{model.entityID}}</td> + </tr> + <tr> + <td>Task ID</td> + <td>{{model.taskID}}</td> + </tr> + <tr> + <td>Container ID</td> + <td>{{model.containerID}}</td> + </tr> + <tr> + <td>Node ID</td> + <td>{{model.nodeID}}</td> + </tr> + <tr> + <td>Status</td> + <td> + {{em-table-status-cell content=model.status}} + </td> + </tr> + <tr> + <td>Start Time</td> + <td>{{txt model.startTime type="date"}}</td> + </tr> + <tr> + <td>End Time</td> + <td>{{txt model.endTime type="date"}}</td> + </tr> + <tr> + <td>Duration</td> + <td>{{txt model.duration type="duration"}}</td> + </tr> + </tbody> + </table> +{{else}} + {{partial "partials/loading-anim"}} +{{/if}} http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/templates/task.hbs ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/templates/task.hbs b/tez-ui2/src/main/webapp/app/templates/task.hbs new file mode 100644 index 0000000..308b905 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/templates/task.hbs @@ -0,0 +1,20 @@ +{{! + * 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. +}} + +{{tab-n-refresh tabs=tabs}} +{{outlet}} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs b/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs new file mode 100644 index 0000000..cdb28aa --- /dev/null +++ b/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs @@ -0,0 +1,33 @@ +{{! + * 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. +}} + +{{#if loaded}} + {{em-table + columns=columns + rows=model + + definition=definition + + searchAction="searchChanged" + sortAction="sortChanged" + rowAction="rowsChanged" + pageAction="pageChanged" + }} +{{else}} + {{partial "partials/loading-anim"}} +{{/if}} http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/app/templates/task/index.hbs ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/app/templates/task/index.hbs b/tez-ui2/src/main/webapp/app/templates/task/index.hbs new file mode 100644 index 0000000..b559203 --- /dev/null +++ b/tez-ui2/src/main/webapp/app/templates/task/index.hbs @@ -0,0 +1,57 @@ +{{! + * 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. +}} + +{{#if loaded}} + <table class='detail-list'> + <thead> + <tr> + <th colspan=2>Details</th> + </tr> + </thead> + <tbody> + <tr> + <td>Task ID</td> + <td>{{model.entityID}}</td> + </tr> + <tr> + <td>Vertex ID</td> + <td>{{model.vertexID}}</td> + </tr> + <tr> + <td>Status</td> + <td> + {{em-table-status-cell content=model.status}} + </td> + </tr> + <tr> + <td>Start Time</td> + <td>{{txt model.startTime type="date"}}</td> + </tr> + <tr> + <td>End Time</td> + <td>{{txt model.endTime type="date"}}</td> + </tr> + <tr> + <td>Duration</td> + <td>{{txt model.duration type="duration"}}</td> + </tr> + </tbody> + </table> +{{else}} + {{partial "partials/loading-anim"}} +{{/if}} http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js new file mode 100644 index 0000000..32c6347 --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js @@ -0,0 +1,36 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:attempt', 'Unit | Controller | vertex', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let controller = this.subject({ + send: Ember.K + }); + + assert.ok(controller); + assert.ok(controller.breadcrumbs); + assert.ok(controller.tabs); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js new file mode 100644 index 0000000..b20e402 --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-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 Ember from 'ember'; + +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:attempt/index', 'Unit | Controller | vertex/index', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let controller = this.subject({ + send: Ember.K + }); + + assert.ok(controller); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js new file mode 100644 index 0000000..f59817e --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js @@ -0,0 +1,36 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:task', 'Unit | Controller | vertex', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let controller = this.subject({ + send: Ember.K + }); + + assert.ok(controller); + assert.ok(controller.breadcrumbs); + assert.ok(controller.tabs); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js new file mode 100644 index 0000000..bf389da --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js @@ -0,0 +1,36 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:task/attempts', 'Unit | Controller | vertex/attempts', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let controller = this.subject({ + send: Ember.K + }); + + assert.ok(controller); + assert.ok(controller.breadcrumbs); + assert.ok(controller.columns); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js new file mode 100644 index 0000000..e3014ae --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-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 Ember from 'ember'; + +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('controller:task/index', 'Unit | Controller | vertex/index', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let controller = this.subject({ + send: Ember.K + }); + + assert.ok(controller); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/routes/attempt-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/routes/attempt-test.js b/tez-ui2/src/main/webapp/tests/unit/routes/attempt-test.js new file mode 100644 index 0000000..dbfe590 --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/routes/attempt-test.js @@ -0,0 +1,32 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:attempt', 'Unit | Route | vertex', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let route = this.subject(); + + assert.ok(route); + assert.ok(route.loaderQueryParams); + assert.ok(route.model); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/routes/attempt/index-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/routes/attempt/index-test.js b/tez-ui2/src/main/webapp/tests/unit/routes/attempt/index-test.js new file mode 100644 index 0000000..8576090 --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/routes/attempt/index-test.js @@ -0,0 +1,45 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:attempt/index', 'Unit | Route | vertex/index', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let route = this.subject(); + + assert.ok(route); + assert.ok(route.title); + assert.ok(route.setupController); + assert.ok(route.load); +}); + +test('setupController test', function(assert) { + assert.expect(1); + + let route = this.subject({ + startCrumbBubble: function () { + assert.ok(true); + } + }); + + route.setupController({}, {}); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/routes/task-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/routes/task-test.js b/tez-ui2/src/main/webapp/tests/unit/routes/task-test.js new file mode 100644 index 0000000..af802b8 --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/routes/task-test.js @@ -0,0 +1,32 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:task', 'Unit | Route | vertex', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let route = this.subject(); + + assert.ok(route); + assert.ok(route.loaderQueryParams); + assert.ok(route.model); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/routes/task/attempts-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/routes/task/attempts-test.js b/tez-ui2/src/main/webapp/tests/unit/routes/task/attempts-test.js new file mode 100644 index 0000000..1209012 --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/routes/task/attempts-test.js @@ -0,0 +1,45 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:task/attempts', 'Unit | Route | vertex/attempts', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let route = this.subject(); + + assert.ok(route); + assert.ok(route.title); + assert.ok(route.setupController); + assert.ok(route.load); +}); + +test('setupController test', function(assert) { + assert.expect(1); + + let route = this.subject({ + startCrumbBubble: function () { + assert.ok(true); + } + }); + + route.setupController({}, {}); +}); http://git-wip-us.apache.org/repos/asf/tez/blob/f3841e43/tez-ui2/src/main/webapp/tests/unit/routes/task/index-test.js ---------------------------------------------------------------------- diff --git a/tez-ui2/src/main/webapp/tests/unit/routes/task/index-test.js b/tez-ui2/src/main/webapp/tests/unit/routes/task/index-test.js new file mode 100644 index 0000000..8f4f6b9 --- /dev/null +++ b/tez-ui2/src/main/webapp/tests/unit/routes/task/index-test.js @@ -0,0 +1,45 @@ +/** + * 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 { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:task/index', 'Unit | Route | vertex/index', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('Basic creation test', function(assert) { + let route = this.subject(); + + assert.ok(route); + assert.ok(route.title); + assert.ok(route.setupController); + assert.ok(route.load); +}); + +test('setupController test', function(assert) { + assert.expect(1); + + let route = this.subject({ + startCrumbBubble: function () { + assert.ok(true); + } + }); + + route.setupController({}, {}); +});