stack_mapper_test.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632
  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. require('mappers/server_data_mapper');
  20. require('mappers/stack_mapper');
  21. require('models/stack');
  22. require('models/operating_system');
  23. require('models/repository');
  24. require('models/stack_version/service_simple');
  25. describe('App.stackMapper', function () {
  26. describe("#map", function() {
  27. var testData = {
  28. "items" : [
  29. {
  30. "VersionDefinition" : {
  31. "id" : "HDP-2.3",
  32. "show_available": true,
  33. "stack_name" : "HDP",
  34. "stack_version" : "2.3",
  35. "repository_version" : "2.3",
  36. "version_url" : "file:/Users/ncole/src/hwx/ambari/contrib/version-builder/version_234-3396.xml",
  37. "release" : {
  38. "build" : "3396",
  39. "compatible_with" : "2.3.[0-3].0",
  40. "notes" : "http://example.com",
  41. "version" : "2.3.4.0"
  42. },
  43. "stack_services" : [
  44. {
  45. "name" : "HDFS",
  46. "display_name" : "HDFS",
  47. "comment" : "Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service",
  48. "versions" : [
  49. "2.7.1.2.3396"
  50. ]
  51. },
  52. {
  53. "name" : "YARN",
  54. "display_name" : "YARN",
  55. "comment" : "",
  56. "versions" : [
  57. "1.7.3.3396"
  58. ]
  59. },
  60. {
  61. "name" : "ZOOKEEPER",
  62. "display_name" : "ZooKeeper",
  63. "comment" : "",
  64. "versions" : [
  65. "1.7.3.3396"
  66. ]
  67. }
  68. ]
  69. },
  70. "operating_systems" : [
  71. {
  72. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7",
  73. "OperatingSystems" : {
  74. "os_type" : "debian7",
  75. "repository_version_id" : 1,
  76. "stack_name" : "HDP",
  77. "stack_version" : "2.3"
  78. },
  79. "repositories" : [
  80. {
  81. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-2.3",
  82. "Repositories" : {
  83. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.4.0-3396",
  84. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.4.0-3396",
  85. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.4.0-3396",
  86. "mirrors_list" : "",
  87. "os_type" : "debian7",
  88. "repo_id" : "HDP-2.3",
  89. "repo_name" : "HDP",
  90. "repository_version_id" : 1,
  91. "stack_name" : "HDP",
  92. "stack_version" : "2.3"
  93. }
  94. },
  95. {
  96. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-UTILS-1.1.0.20",
  97. "Repositories" : {
  98. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  99. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  100. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  101. "mirrors_list" : "",
  102. "os_type" : "debian7",
  103. "repo_id" : "HDP-UTILS-1.1.0.20",
  104. "repo_name" : "HDP-UTILS",
  105. "repository_version_id" : 1,
  106. "stack_name" : "HDP",
  107. "stack_version" : "2.3"
  108. }
  109. }
  110. ]
  111. },
  112. {
  113. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6",
  114. "OperatingSystems" : {
  115. "os_type" : "redhat6",
  116. "repository_version_id" : 1,
  117. "stack_name" : "HDP",
  118. "stack_version" : "2.3"
  119. },
  120. "repositories" : [
  121. {
  122. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6/repositories/HDP-2.3",
  123. "Repositories" : {
  124. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.4.0-3396",
  125. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.4.0-3396",
  126. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.4.0-3396",
  127. "mirrors_list" : "",
  128. "os_type" : "redhat6",
  129. "repo_id" : "HDP-2.3",
  130. "repo_name" : "HDP",
  131. "repository_version_id" : 1,
  132. "stack_name" : "HDP",
  133. "stack_version" : "2.3"
  134. }
  135. },
  136. {
  137. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6/repositories/HDP-UTILS-1.1.0.20",
  138. "Repositories" : {
  139. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  140. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  141. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  142. "mirrors_list" : "",
  143. "os_type" : "redhat6",
  144. "repo_id" : "HDP-UTILS-1.1.0.20",
  145. "repo_name" : "HDP-UTILS",
  146. "repository_version_id" : 1,
  147. "stack_name" : "HDP",
  148. "stack_version" : "2.3"
  149. }
  150. }
  151. ]
  152. }
  153. ]
  154. },
  155. {
  156. "VersionDefinition" : {
  157. "id" : "HDP-2.3-2.3.4.0",
  158. "stack_name" : "HDP",
  159. "stack_version" : "2.3",
  160. "show_available": true,
  161. "repository_version" : "2.3.4.0",
  162. "version_url" : "file:/Users/ncole/src/hwx/ambari/contrib/version-builder/version_234-3397.xml",
  163. "release" : {
  164. "build" : "3397",
  165. "compatible_with" : "2.3.[0-3].0",
  166. "notes" : "http://example.com",
  167. "version" : "2.3.4.0"
  168. },
  169. "stack_services" : [
  170. {
  171. "name" : "HDFS",
  172. "display_name" : "HDFS",
  173. "comment" : "Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service",
  174. "versions" : [
  175. "2.7.1.2-3397"
  176. ]
  177. },
  178. {
  179. "name" : "YARN",
  180. "display_name" : "YARN",
  181. "comment" : "",
  182. "versions" : [
  183. "1.7.3-3397"
  184. ]
  185. },
  186. {
  187. "name" : "HBase",
  188. "display_name" : "HBase",
  189. "comment" : "",
  190. "versions" : [
  191. "1.7.3-3397"
  192. ]
  193. },
  194. {
  195. "name" : "ZOOKEEPER",
  196. "display_name" : "ZooKeeper",
  197. "comment" : "",
  198. "versions" : [
  199. "1.7.3-3397"
  200. ]
  201. },
  202. {
  203. "name" : "Hive",
  204. "display_name" : "Hive",
  205. "comment" : "",
  206. "versions" : [
  207. "1.1.0-3397"
  208. ]
  209. }
  210. ]
  211. },
  212. "operating_systems" : [
  213. {
  214. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7",
  215. "OperatingSystems" : {
  216. "os_type" : "debian7",
  217. "repository_version_id" : 1,
  218. "stack_name" : "HDP",
  219. "stack_version" : "2.3"
  220. },
  221. "repositories" : [
  222. {
  223. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-2.3",
  224. "Repositories" : {
  225. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.4.0-3397",
  226. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.4.0-3397",
  227. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.4.0-3397",
  228. "mirrors_list" : "",
  229. "os_type" : "debian7",
  230. "repo_id" : "HDP-2.3",
  231. "repo_name" : "HDP",
  232. "repository_version_id" : 1,
  233. "stack_name" : "HDP",
  234. "stack_version" : "2.3"
  235. }
  236. },
  237. {
  238. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-UTILS-1.1.0.20",
  239. "Repositories" : {
  240. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  241. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  242. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  243. "mirrors_list" : "",
  244. "os_type" : "debian7",
  245. "repo_id" : "HDP-UTILS-1.1.0.20",
  246. "repo_name" : "HDP-UTILS",
  247. "repository_version_id" : 1,
  248. "stack_name" : "HDP",
  249. "stack_version" : "2.3"
  250. }
  251. }
  252. ]
  253. },
  254. {
  255. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6",
  256. "OperatingSystems" : {
  257. "os_type" : "redhat6",
  258. "repository_version_id" : 1,
  259. "stack_name" : "HDP",
  260. "stack_version" : "2.3"
  261. },
  262. "repositories" : [
  263. {
  264. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6/repositories/HDP-2.3",
  265. "Repositories" : {
  266. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.4.0-3397",
  267. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.4.0-3397",
  268. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.4.0-3397",
  269. "mirrors_list" : "",
  270. "os_type" : "redhat6",
  271. "repo_id" : "HDP-2.3",
  272. "repo_name" : "HDP",
  273. "repository_version_id" : 1,
  274. "stack_name" : "HDP",
  275. "stack_version" : "2.3"
  276. }
  277. },
  278. {
  279. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6/repositories/HDP-UTILS-1.1.0.20",
  280. "Repositories" : {
  281. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  282. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  283. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  284. "mirrors_list" : "",
  285. "os_type" : "redhat6",
  286. "repo_id" : "HDP-UTILS-1.1.0.20",
  287. "repo_name" : "HDP-UTILS",
  288. "repository_version_id" : 1,
  289. "stack_name" : "HDP",
  290. "stack_version" : "2.3"
  291. }
  292. }
  293. ]
  294. }
  295. ]
  296. },
  297. {
  298. "VersionDefinition" : {
  299. "id" : "HDP-2.3-2.3.6.0",
  300. "stack_name" : "HDP",
  301. "stack_version" : "2.3",
  302. "show_available": true,
  303. "repository_version" : "2.3.6.0",
  304. "version_url" : "file:/Users/ncole/src/hwx/ambari/contrib/version-builder/version_234-3646.xml",
  305. "release" : {
  306. "build" : "3646",
  307. "compatible_with" : "2.3.[0-6].0",
  308. "notes" : "http://example.com",
  309. "version" : "2.3.6.0"
  310. },
  311. "stack_services" : [
  312. {
  313. "name" : "HDFS",
  314. "display_name" : "HDFS",
  315. "comment" : "Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service",
  316. "versions" : [
  317. "2.7.1.2-3646"
  318. ]
  319. },
  320. {
  321. "name" : "YARN",
  322. "display_name" : "YARN",
  323. "comment" : "",
  324. "versions" : [
  325. "1.7.3-3646"
  326. ]
  327. },
  328. {
  329. "name" : "HBase",
  330. "display_name" : "HBase",
  331. "comment" : "",
  332. "versions" : [
  333. "1.7.3-3646"
  334. ]
  335. },
  336. {
  337. "name" : "ZOOKEEPER",
  338. "display_name" : "ZooKeeper",
  339. "comment" : "",
  340. "versions" : [
  341. "1.7.3-3646"
  342. ]
  343. },
  344. {
  345. "name" : "Hive",
  346. "display_name" : "Hive",
  347. "comment" : "",
  348. "versions" : [
  349. "1.1.0-3646"
  350. ]
  351. }
  352. ]
  353. },
  354. "operating_systems" : [
  355. {
  356. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7",
  357. "OperatingSystems" : {
  358. "os_type" : "debian7",
  359. "repository_version_id" : 1,
  360. "stack_name" : "HDP",
  361. "stack_version" : "2.3"
  362. },
  363. "repositories" : [
  364. {
  365. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-2.3",
  366. "Repositories" : {
  367. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.6.0-3646",
  368. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.6.0-3646",
  369. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.3.6.0-3646",
  370. "mirrors_list" : "",
  371. "os_type" : "debian7",
  372. "repo_id" : "HDP-2.3",
  373. "repo_name" : "HDP",
  374. "repository_version_id" : 1,
  375. "stack_name" : "HDP",
  376. "stack_version" : "2.3"
  377. }
  378. },
  379. {
  380. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-UTILS-1.1.0.20",
  381. "Repositories" : {
  382. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  383. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  384. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  385. "mirrors_list" : "",
  386. "os_type" : "debian7",
  387. "repo_id" : "HDP-UTILS-1.1.0.20",
  388. "repo_name" : "HDP-UTILS",
  389. "repository_version_id" : 1,
  390. "stack_name" : "HDP",
  391. "stack_version" : "2.3"
  392. }
  393. }
  394. ]
  395. },
  396. {
  397. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6",
  398. "OperatingSystems" : {
  399. "os_type" : "redhat6",
  400. "repository_version_id" : 1,
  401. "stack_name" : "HDP",
  402. "stack_version" : "2.3"
  403. },
  404. "repositories" : [
  405. {
  406. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6/repositories/HDP-2.3",
  407. "Repositories" : {
  408. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.6.0-3646",
  409. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.6.0-3646",
  410. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.3.6.0-3646",
  411. "mirrors_list" : "",
  412. "os_type" : "redhat6",
  413. "repo_id" : "HDP-2.3",
  414. "repo_name" : "HDP",
  415. "repository_version_id" : 1,
  416. "stack_name" : "HDP",
  417. "stack_version" : "2.3"
  418. }
  419. },
  420. {
  421. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/redhat6/repositories/HDP-UTILS-1.1.0.20",
  422. "Repositories" : {
  423. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  424. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  425. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6",
  426. "mirrors_list" : "",
  427. "os_type" : "redhat6",
  428. "repo_id" : "HDP-UTILS-1.1.0.20",
  429. "repo_name" : "HDP-UTILS",
  430. "repository_version_id" : 1,
  431. "stack_name" : "HDP",
  432. "stack_version" : "2.3"
  433. }
  434. }
  435. ]
  436. }
  437. ]
  438. },
  439. {
  440. "VersionDefinition" : {
  441. "id" : "HDP-2.4-2.4.0.0",
  442. "stack_name" : "HDP",
  443. "stack_version" : "2.4",
  444. "show_available": true,
  445. "repository_version" : "2.4.0.0",
  446. "version_url" : "file:/Users/ncole/src/hwx/ambari/contrib/version-builder/version_169.xml",
  447. "release" : {
  448. "build" : "169",
  449. "compatible_with" : "2.4.[0-3].0",
  450. "notes" : "http://example.com",
  451. "version" : "2.4.0.0"
  452. },
  453. "stack_services" : [
  454. {
  455. "name" : "HDFS",
  456. "display_name" : "HDFS",
  457. "comment" : "Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service",
  458. "versions" : [
  459. "2.7.1.2-169"
  460. ]
  461. },
  462. {
  463. "name" : "YARN",
  464. "display_name" : "YARN",
  465. "comment" : "",
  466. "versions" : [
  467. "1.7.3-169"
  468. ]
  469. },
  470. {
  471. "name" : "HBase",
  472. "display_name" : "HBase",
  473. "comment" : "",
  474. "versions" : [
  475. "1.7.3-169"
  476. ]
  477. },
  478. {
  479. "name" : "ZOOKEEPER",
  480. "display_name" : "ZooKeeper",
  481. "comment" : "",
  482. "versions" : [
  483. "1.7.3-169"
  484. ]
  485. },
  486. {
  487. "name" : "Hive",
  488. "display_name" : "Hive",
  489. "comment" : "",
  490. "versions" : [
  491. "1.1.0-169"
  492. ]
  493. },
  494. {
  495. "name" : "MAPREDUCE2",
  496. "display_name" : "MapReduce2",
  497. "comment" : "service",
  498. "versions" : [
  499. "2.7.1.2-169"
  500. ]
  501. },
  502. {
  503. "name" : "Slider",
  504. "display_name" : "Slider",
  505. "comment" : "service",
  506. "versions" : [
  507. "2.7.1.2-169"
  508. ]
  509. },
  510. {
  511. "name" : "Pig",
  512. "display_name" : "Pig",
  513. "comment" : "service",
  514. "versions" : [
  515. "2.7.1.2-169"
  516. ]
  517. },
  518. {
  519. "name" : "Sqoop",
  520. "display_name" : "Sqoop",
  521. "comment" : "service",
  522. "versions" : [
  523. "2.7.1.2-169"
  524. ]
  525. }
  526. ]
  527. },
  528. "operating_systems" : [
  529. {
  530. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7",
  531. "OperatingSystems" : {
  532. "os_type" : "debian7",
  533. "repository_version_id" : 1,
  534. "stack_name" : "HDP",
  535. "stack_version" : "2.4"
  536. },
  537. "repositories" : [
  538. {
  539. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-2.3",
  540. "Repositories" : {
  541. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.4.0.0-169",
  542. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.4.0.0-169",
  543. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian7/2.x/BUILDS/2.4.0.0-169",
  544. "mirrors_list" : "",
  545. "os_type" : "debian7",
  546. "repo_id" : "HDP-2.4",
  547. "repo_name" : "HDP",
  548. "repository_version_id" : 1,
  549. "stack_name" : "HDP",
  550. "stack_version" : "2.4"
  551. }
  552. },
  553. {
  554. "href" : "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/versions/2.3/repository_versions/1/operating_systems/debian7/repositories/HDP-UTILS-1.1.0.20",
  555. "Repositories" : {
  556. "base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  557. "default_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  558. "latest_base_url" : "http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian7",
  559. "mirrors_list" : "",
  560. "os_type" : "debian7",
  561. "repo_id" : "HDP-UTILS-1.1.0.20",
  562. "repo_name" : "HDP-UTILS",
  563. "repository_version_id" : 1,
  564. "stack_name" : "HDP",
  565. "stack_version" : "2.4"
  566. }
  567. }
  568. ]
  569. }
  570. ]
  571. }
  572. ]
  573. };
  574. beforeEach(function () {
  575. App.resetDsStoreTypeMap(App.Repository);
  576. App.resetDsStoreTypeMap(App.OperatingSystem);
  577. App.resetDsStoreTypeMap(App.Stack);
  578. App.resetDsStoreTypeMap(App.ServiceSimple);
  579. sinon.stub(App.store, 'commit', Em.K);
  580. testData.items.sortProperty('VersionDefinition.stack_version').reverse().forEach(function (versionDefinition) {
  581. App.stackMapper.map(versionDefinition);
  582. });
  583. });
  584. afterEach(function(){
  585. App.store.commit.restore();
  586. });
  587. it ('should map all Stack data', function() {
  588. expect(App.Stack.find().get('length')).to.equal(4);
  589. });
  590. it ('all stacks are showAvailable', function() {
  591. expect(App.Stack.find().everyProperty('showAvailable')).to.equal(true);
  592. });
  593. it ('no one stack is selected', function() {
  594. expect(App.Stack.find().everyProperty('isSelected')).to.equal(false);
  595. });
  596. it ('7 OSes are mapped', function() {
  597. expect(App.OperatingSystem.find().get('length')).to.equal(7);
  598. });
  599. it ('OSes have valid ids', function() {
  600. expect(App.OperatingSystem.find().mapProperty('id')).to.eql(
  601. ['HDP-2.4-2.4.0.0-debian7', 'HDP-2.3-2.3.6.0-debian7', 'HDP-2.3-2.3.6.0-redhat6', 'HDP-2.3-2.3.4.0-debian7',
  602. 'HDP-2.3-2.3.4.0-redhat6', 'HDP-2.3-debian7', 'HDP-2.3-redhat6']);
  603. });
  604. it ('14 repositories are mapped', function() {
  605. expect(App.Repository.find().get('length')).to.equal(14);
  606. });
  607. it ('Repositories ids are valid', function() {
  608. expect(App.Repository.find().mapProperty('id')).to.eql(
  609. ['HDP-2.4-2.4.0.0-debian7-HDP-2.4', 'HDP-2.4-2.4.0.0-debian7-HDP-UTILS-1.1.0.20',
  610. 'HDP-2.3-2.3.6.0-debian7-HDP-2.3', 'HDP-2.3-2.3.6.0-debian7-HDP-UTILS-1.1.0.20',
  611. 'HDP-2.3-2.3.6.0-redhat6-HDP-2.3','HDP-2.3-2.3.6.0-redhat6-HDP-UTILS-1.1.0.20',
  612. 'HDP-2.3-2.3.4.0-debian7-HDP-2.3','HDP-2.3-2.3.4.0-debian7-HDP-UTILS-1.1.0.20',
  613. 'HDP-2.3-2.3.4.0-redhat6-HDP-2.3', 'HDP-2.3-2.3.4.0-redhat6-HDP-UTILS-1.1.0.20',
  614. 'HDP-2.3-debian7-HDP-2.3', 'HDP-2.3-debian7-HDP-UTILS-1.1.0.20',
  615. 'HDP-2.3-redhat6-HDP-2.3', 'HDP-2.3-redhat6-HDP-UTILS-1.1.0.20'
  616. ]);
  617. });
  618. });
  619. });