flume_test.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. var App = require('app');
  19. var modelSetup = require('test/init_model_test');
  20. require('models/service/flume');
  21. var flumeAgent,
  22. flumeAgentData = {
  23. id: 'agent',
  24. name: 'agent'
  25. },
  26. cases = [
  27. {
  28. status: 'RUNNING',
  29. healthClass: App.healthIconClassGreen
  30. },
  31. {
  32. status: 'NOT_RUNNING',
  33. healthClass: App.healthIconClassRed
  34. },
  35. {
  36. status: 'UNKNOWN',
  37. healthClass: App.healthIconClassYellow
  38. },
  39. {
  40. status: 'ANOTHER_STATUS',
  41. healthClass: App.healthIconClassYellow
  42. }
  43. ];
  44. describe('App.FlumeAgent', function () {
  45. beforeEach(function () {
  46. flumeAgent = App.FlumeAgent.createRecord(flumeAgentData);
  47. });
  48. afterEach(function () {
  49. modelSetup.deleteRecord(flumeAgent);
  50. });
  51. describe('#healthClass', function () {
  52. cases.forEach(function (item) {
  53. var healthClass = item.healthClass;
  54. it('should be ' + healthClass, function () {
  55. flumeAgent.set('status', item.status);
  56. expect(flumeAgent.get('healthClass')).to.equal(healthClass);
  57. });
  58. });
  59. });
  60. });