Fixed ceilometer bug
diff --git a/views/ngXosViews/ceilometerDashboard/env/default.js b/views/ngXosViews/ceilometerDashboard/env/default.js
index c7a21c8..a68a4ae 100644
--- a/views/ngXosViews/ceilometerDashboard/env/default.js
+++ b/views/ngXosViews/ceilometerDashboard/env/default.js
@@ -7,7 +7,7 @@
 // (works only for local environment as both application are served on the same domain)
 
 module.exports = {
-  host: 'http://apt016.apt.emulab.net:9999/',
-  xoscsrftoken: 'g0NmwGn8LGsbgFINdvv634YFAVxfWR35',
-  xossessionid: 'fv9sduix69ow31gfn1nfqpppflo3ah5y'
+  host: 'http://apt020.apt.emulab.net:9999/',
+  xoscsrftoken: 'g6cCHldtlqDm0BzoKHgPyP2KzGSCUFgW',
+  xossessionid: '5ofvr4o8pwyqsff1zbd9ca1wsqf023uy'
 };
diff --git a/views/ngXosViews/ceilometerDashboard/karma.conf.js b/views/ngXosViews/ceilometerDashboard/karma.conf.js
index 1978cbd..cbc5a83 100644
--- a/views/ngXosViews/ceilometerDashboard/karma.conf.js
+++ b/views/ngXosViews/ceilometerDashboard/karma.conf.js
@@ -26,8 +26,10 @@
     // list of files / patterns to load in the browser
     files: bowerComponents.concat([
       'src/css/**/*.css',
-      '../../../xos/core/xoslib/static/js/xosApi.js',
+      '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
       '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+      '../../../xos/core/xoslib/static/js/xosApi.js',
+      'src/js/main.js',
       'src/js/**/*.js',
       'spec/**/*.mock.js',
       'spec/**/*.test.js',
diff --git a/views/ngXosViews/ceilometerDashboard/spec/backend.mock.js b/views/ngXosViews/ceilometerDashboard/spec/backend.mock.js
index 86ed3d8..2908041 100644
--- a/views/ngXosViews/ceilometerDashboard/spec/backend.mock.js
+++ b/views/ngXosViews/ceilometerDashboard/spec/backend.mock.js
@@ -26,42 +26,42 @@
     {
       meter: 'cpu',
       resource_name: 'fakeName',
-      project_id: 'fakeTenant',
+      resource_id: 'fakeTenant',
       timestamp: '2015-12-15T00:34:08',
       volume: 110
     },
     {
       meter: 'cpu',
       resource_name: 'fakeName',
-      project_id: 'fakeTenant',
+      resource_id: 'fakeTenant',
       timestamp: '2015-12-15T00:44:08',
       volume: 120
     },
     {
       meter: 'cpu',
       resource_name: 'anotherName',
-      project_id: 'anotherTenant',
+      resource_id: 'anotherTenant',
       timestamp: '2015-12-15T00:24:08',
       volume: 210
     },
     {
       meter: 'cpu',
       resource_name: 'anotherName',
-      project_id: 'anotherTenant',
+      resource_id: 'anotherTenant',
       timestamp: '2015-12-15T00:34:08',
       volume: 220
     },
     {
       meter: 'cpu',
       resource_name: 'anotherName',
-      project_id: 'anotherTenant',
+      resource_id: 'anotherTenant',
       timestamp: '2015-12-15T00:44:08',
       volume: 230
     },
     {
       meter: 'cpu',
       resource_name: 'thirdName',
-      project_id: 'thirdTenant',
+      resource_id: 'thirdTenant',
       timestamp: '2015-12-15T00:44:08',
       volume: 310
     }
@@ -70,7 +70,7 @@
   const mapping = [
     {
       service: 'service-a',
-      slice: [
+      slices: [
         {
           project_id: 'id-a-1',
           slice: 'slice-a-1'
@@ -83,7 +83,7 @@
     },
     {
       service: 'service-b',
-      slice: [
+      slices: [
         {
           project_id: 'id-b-1',
           slice: 'slice-b-1'
diff --git a/views/ngXosViews/ceilometerDashboard/spec/ceilometer.test.js b/views/ngXosViews/ceilometerDashboard/spec/ceilometer.test.js
index cbd8ca0..933f892 100644
--- a/views/ngXosViews/ceilometerDashboard/spec/ceilometer.test.js
+++ b/views/ngXosViews/ceilometerDashboard/spec/ceilometer.test.js
@@ -21,31 +21,17 @@
       httpBackend.flush();
     }));
 
-    xdescribe('when loading meters', () => {
-      it('should group meters by services', () => {
-        expect(Object.keys(vm.projects).length).toBe(2);
-      });
-
-      it('should group services by slices', () => {
-        expect(Object.keys(vm.projects.service_2).length).toBe(2);
-      });
-
-      it('should group slices by resources', () => {
-        expect(Object.keys(vm.projects.service_2.slice_2).length).toBe(2);
-      });
-    });
-
     describe('when loading service list', () => {
       it('should append the list to the scope', () => {
         expect(vm.services.length).toBe(2);
-        expect(vm.services[0].slice.length).toBe(2);
-        expect(vm.services[1].slice.length).toBe(2);
+        expect(vm.services[0].slices.length).toBe(2);
+        expect(vm.services[1].slices.length).toBe(2);
       });
     });
 
     describe('when a slice is selected', () => {
       it('should load corresponding meters', () => {
-        vm.loadSliceMeter(vm.services[0].slice[0]);
+        vm.loadSliceMeter(vm.services[0].slices[0]);
 
         httpBackend.flush();
 
@@ -89,7 +75,7 @@
       expect(vm.chart.data[0].length).toBe(2);
       expect(vm.chart.data[0][0]).toBe(110);
       expect(vm.chart.data[0][1]).toBe(120);
-      expect(vm.chartMeters[0].project_id).toBe('fakeTenant')
+      expect(vm.chartMeters[0].resource_id).toBe('fakeTenant')
       expect(vm.chartMeters[0].resource_name).toBe('fakeName')
     });
 
@@ -100,7 +86,7 @@
       expect(vm.chart.data[1][0]).toBe(210);
       expect(vm.chart.data[1][1]).toBe(220);
       expect(vm.chart.data[1][2]).toBe(230);
-      expect(vm.chartMeters[1].project_id).toBe('anotherTenant')
+      expect(vm.chartMeters[1].resource_id).toBe('anotherTenant')
       expect(vm.chartMeters[1].resource_name).toBe('anotherName')
     });
 
@@ -112,7 +98,7 @@
       expect(vm.chart.data[0][0]).toBe(210);
       expect(vm.chart.data[0][1]).toBe(220);
       expect(vm.chart.data[0][2]).toBe(230);
-      expect(vm.chartMeters[0].project_id).toBe('anotherTenant')
+      expect(vm.chartMeters[0].resource_id).toBe('anotherTenant')
       expect(vm.chartMeters[0].resource_name).toBe('anotherName')
     });
 
@@ -120,10 +106,10 @@
       it('should create an array of unique labels', () => {
         // unique because every resource has multiple samples (time-series)
         const samples = [
-          {project_id: 1, resource_name: 'fakeName'},
-          {project_id: 1, resource_name: 'fakeName'},
-          {project_id: 2, resource_name: 'anotherName'},
-          {project_id: 2, resource_name: 'anotherName'}
+          {resource_id: 1, resource_name: 'fakeName'},
+          {resource_id: 1, resource_name: 'fakeName'},
+          {resource_id: 2, resource_name: 'anotherName'},
+          {resource_id: 2, resource_name: 'anotherName'}
         ];
 
         const result = vm.formatSamplesLabels(samples);
diff --git a/views/ngXosViews/ceilometerDashboard/src/js/dashboard.directive.js b/views/ngXosViews/ceilometerDashboard/src/js/dashboard.directive.js
index 8f8487d..a1ae36a 100644
--- a/views/ngXosViews/ceilometerDashboard/src/js/dashboard.directive.js
+++ b/views/ngXosViews/ceilometerDashboard/src/js/dashboard.directive.js
@@ -45,7 +45,6 @@
           /**
            * Load the list of service and slices
            */
-
           this.loadMappings = () => {
             this.loader = true;
             Ceilometer.getMappings()
@@ -92,7 +91,6 @@
           /**
            * Load the list of a single slice
            */
-
           this.loadSliceMeter = (slice, service_name) => {
 
             Ceilometer.selectedSlice = null;
diff --git a/views/ngXosViews/ceilometerDashboard/src/js/samples.directive.js b/views/ngXosViews/ceilometerDashboard/src/js/samples.directive.js
index 1bcb838..42b08e5 100644
--- a/views/ngXosViews/ceilometerDashboard/src/js/samples.directive.js
+++ b/views/ngXosViews/ceilometerDashboard/src/js/samples.directive.js
@@ -44,7 +44,7 @@
         if($stateParams.name && $stateParams.tenant){
           this.name = $stateParams.name;
           this.tenant = $stateParams.tenant;
-          // TODO rename tenant in project_id
+          // TODO rename tenant in resource_id
         }
         else{
           throw new Error('Missing Name and Tenant Params!');