Code coverage report for app/mixins/main/host/details/actions/install_new_version.js

Statements: 90.91% (10 / 11)      Branches: 100% (0 / 0)      Functions: 83.33% (5 / 6)      Lines: 90.91% (10 / 11)      Ignored: none     

All files » app/mixins/main/host/details/actions/ » install_new_version.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78    1                                   1   1             1   1 1                 1                                     3 3 3                              
'use strict';
 
;require.register("mixins/main/host/details/actions/install_new_version", function (exports, require, module) {
  /**
   * 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.
   */
  var App = require('app');
 
  App.InstallNewVersion = Em.Mixin.create({
 
    /**
     * show popup confirmation of version installation
     * @param event
     */
    installVersionConfirmation: function installVersionConfirmation(event) {
      var self = this;
 
      return App.showConfirmationPopup(function () {
        self.installVersion(event);
      }, Em.I18n.t('hosts.host.stackVersions.install.confirmation').format(event.context.get('displayName')));
    },
 
    /**
     * install HostStackVersion on host
     * @param {object} event
     */
    installVersion: function installVersion(event) {
      App.ajax.send({
        name: 'host.stack_versions.install',
        sender: this,
        data: {
          hostName: this.get('content.hostName'),
          version: event.context
        },
        success: 'installVersionSuccessCallback'
      });
    },
 
    /**
     * success callback of <code>installVersion</code>
     * on success set version status to INSTALLING
     * @param {object} data
     * @param {object} opt
     * @param {object} params
     */
    installVersionSuccessCallback: function installVersionSuccessCallback(data, opt, params) {
      App.HostStackVersion.find(params.version.get('id')).set('status', 'INSTALLING');
      App.db.set('repoVersionInstall', 'id', [data.Requests.id]);
      App.clusterStatus.setClusterStatus({
        wizardControllerName: this.get('name'),
        localdb: App.db.data
      });
    },
 
    /**
     * Call callback after loading service metrics
     * @param callback
     */
    isServiceMetricsLoaded: function isServiceMetricsLoaded(callback) {
      App.router.get('mainController').isLoading.call(App.router.get('clusterController'), 'isServiceContentFullyLoaded').done(callback);
    }
 
  });
});