hammer_cli_csv 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +15 -0
  2. data/lib/hammer_cli_csv.rb +48 -0
  3. data/lib/hammer_cli_csv/activation_keys.rb +170 -0
  4. data/lib/hammer_cli_csv/architectures.rb +95 -0
  5. data/lib/hammer_cli_csv/base.rb +706 -0
  6. data/lib/hammer_cli_csv/compute_profiles.rb +94 -0
  7. data/lib/hammer_cli_csv/compute_resources.rb +92 -0
  8. data/lib/hammer_cli_csv/content_hosts.rb +357 -0
  9. data/lib/hammer_cli_csv/content_view_filters.rb +158 -0
  10. data/lib/hammer_cli_csv/content_views.rb +86 -0
  11. data/lib/hammer_cli_csv/csv.rb +23 -0
  12. data/lib/hammer_cli_csv/domains.rb +103 -0
  13. data/lib/hammer_cli_csv/exception_handler.rb +53 -0
  14. data/lib/hammer_cli_csv/host_collections.rb +108 -0
  15. data/lib/hammer_cli_csv/hosts.rb +118 -0
  16. data/lib/hammer_cli_csv/import.rb +82 -0
  17. data/lib/hammer_cli_csv/installation_medias.rb +88 -0
  18. data/lib/hammer_cli_csv/lifecycle_environments.rb +116 -0
  19. data/lib/hammer_cli_csv/locations.rb +84 -0
  20. data/lib/hammer_cli_csv/operating_systems.rb +95 -0
  21. data/lib/hammer_cli_csv/organizations.rb +107 -0
  22. data/lib/hammer_cli_csv/partition_tables.rb +98 -0
  23. data/lib/hammer_cli_csv/products.rb +179 -0
  24. data/lib/hammer_cli_csv/provisioning_templates.rb +96 -0
  25. data/lib/hammer_cli_csv/puppet_environments.rb +105 -0
  26. data/lib/hammer_cli_csv/puppet_facts.rb +99 -0
  27. data/lib/hammer_cli_csv/puppet_reports.rb +244 -0
  28. data/lib/hammer_cli_csv/reports.rb +91 -0
  29. data/lib/hammer_cli_csv/roles.rb +115 -0
  30. data/lib/hammer_cli_csv/smart_proxies.rb +88 -0
  31. data/lib/hammer_cli_csv/subnets.rb +121 -0
  32. data/lib/hammer_cli_csv/subscriptions.rb +135 -0
  33. data/lib/hammer_cli_csv/users.rb +133 -0
  34. data/lib/hammer_cli_csv/version.rb +16 -0
  35. data/test/activation_keys_test.rb +17 -0
  36. data/test/apipie_resource_mock.rb +77 -0
  37. data/test/config.template.yml +17 -0
  38. data/test/csv_test_helper.rb +65 -0
  39. data/test/data/activation-keys.csv +119 -0
  40. data/test/data/architectures.csv +5 -0
  41. data/test/data/content-hosts.csv +4 -0
  42. data/test/data/content-view-filters.csv +2 -0
  43. data/test/data/content-views.csv +6 -0
  44. data/test/data/domains.csv +8 -0
  45. data/test/data/host-collections.csv +16 -0
  46. data/test/data/hosts.csv +12 -0
  47. data/test/data/installation-medias.csv +7 -0
  48. data/test/data/lifecycle-environments.csv +6 -0
  49. data/test/data/locations.csv +10 -0
  50. data/test/data/operating-systems.csv +16 -0
  51. data/test/data/organizations.csv +5 -0
  52. data/test/data/partition-tables.csv +187 -0
  53. data/test/data/products.csv +19 -0
  54. data/test/data/puppet-environments.csv +6 -0
  55. data/test/data/puppet-facts.csv +9 -0
  56. data/test/data/reports.csv +4 -0
  57. data/test/data/roles.csv +159 -0
  58. data/test/data/smart-proxies.csv +2 -0
  59. data/test/data/subscriptions.csv +19 -0
  60. data/test/data/users.csv +119 -0
  61. data/test/helpers/command.rb +67 -0
  62. data/test/helpers/resource_disabled.rb +69 -0
  63. data/test/hosts_test.rb +47 -0
  64. data/test/organizations_test.rb +74 -0
  65. data/test/roles_test.rb +39 -0
  66. data/test/setup_test.rb +164 -0
  67. data/test/systems_test.rb +71 -0
  68. data/test/users_test.rb +35 -0
  69. metadata +174 -0
@@ -0,0 +1,2 @@
1
+ Name,Count,Organizations,Locations,URL
2
+ thomasmckay-devel,"1","Mega Corporation","","https://thomasmckay.usersys.redhat.com:9090"
@@ -0,0 +1,19 @@
1
+ Name,Count,Organization,Manifest File,Content Set,Arch,Release
2
+ MegaCorp,1,Mega Corporation,~/Downloads/megacorp.zip,
3
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6Server
4
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.1
5
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.2
6
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.3
7
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.4
8
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.5
9
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6Server
10
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.1
11
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.2
12
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.3
13
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.4
14
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.5
15
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (RPMs),x86_64,7Server
16
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (RPMs),x86_64,7.0
17
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (Kickstart),x86_64,7.0
18
+ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (Kickstart),x86_64,7Server
19
+
@@ -0,0 +1,119 @@
1
+ Name,Count,First Name,Last Name,Email,Organizations,Locations,Roles
2
+ annamae.audie@megacorp.com,1,Annamae,Audie,annamae.audie@megacorp.com,Mega Corporation,,"Mega Corporation Admin,annamaeaudie"
3
+ aron.askew@megacorp.com,1,Aron,Askew,aron.askew@megacorp.com,Mega Corporation,,aronaskew
4
+ ashton.aumann@megacorp.com,1,Ashton,Aumann,ashton.aumann@megacorp.com,Mega Corporation,,ashtonaumann
5
+ ayako.alday@megacorp.com,1,Ayako,Alday,ayako.alday@megacorp.com,Mega Corporation,,ayakoalday
6
+ bambi.bivona@megacorp.com,1,Bambi,Bivona,bambi.bivona@megacorp.com,Mega Corporation,,bambibivona
7
+ bernard.bigler@megacorp.com,1,Bernard,Bigler,bernard.bigler@megacorp.com,Mega Corporation,,"Mega Corporation Admin,bernardbigler"
8
+ bettina.budniewski@megacorp.com,1,Bettina,Budniewski,bettina.budniewski@megacorp.com,Mega Corporation,,bettinabudniewski
9
+ boyd.buckle@megacorp.com,1,Boyd,Buckle,boyd.buckle@megacorp.com,Mega Corporation,,boydbuckle
10
+ bruce.butterworth@megacorp.com,1,Bruce,Butterworth,bruce.butterworth@megacorp.com,Mega Corporation,,brucebutterworth
11
+ carolann.corbo@megacorp.com,1,Carolann,Corbo,carolann.corbo@megacorp.com,Mega Corporation,,carolanncorbo
12
+ caroll.colquitt@megacorp.com,1,Caroll,Colquitt,caroll.colquitt@megacorp.com,Mega Corporation,,carollcolquitt
13
+ chaya.cordova@megacorp.com,1,Chaya,Cordova,chaya.cordova@megacorp.com,Mega Corporation,,chayacordova
14
+ chelsea.calaway@megacorp.com,1,Chelsea,Calaway,chelsea.calaway@megacorp.com,Mega Corporation,,chelseacalaway
15
+ cinthia.cadieux@megacorp.com,1,Cinthia,Cadieux,cinthia.cadieux@megacorp.com,Mega Corporation,,cinthiacadieux
16
+ coralee.culbert@megacorp.com,1,Coralee,Culbert,coralee.culbert@megacorp.com,Mega Corporation,,coraleeculbert
17
+ damon.dials@megacorp.com,1,Damon,Dials,damon.dials@megacorp.com,Mega Corporation,,damondials
18
+ danae.drayer@megacorp.com,1,Danae,Drayer,danae.drayer@megacorp.com,Mega Corporation,,danaedrayer
19
+ danette.dewitt@megacorp.com,1,Danette,Dewitt,danette.dewitt@megacorp.com,Mega Corporation,,danettedewitt
20
+ danilo.dilbeck@megacorp.com,1,Danilo,Dilbeck,danilo.dilbeck@megacorp.com,Mega Corporation,,danilodilbeck
21
+ debby.dupuy@megacorp.com,1,Debby,Dupuy,debby.dupuy@megacorp.com,Mega Corporation,,debbydupuy
22
+ delcie.diez@megacorp.com,1,Delcie,Diez,delcie.diez@megacorp.com,Mega Corporation,,delciediez
23
+ denna.debartolo@megacorp.com,1,Denna,Debartolo,denna.debartolo@megacorp.com,Mega Corporation,,dennadebartolo
24
+ diedra.darrow@megacorp.com,1,Diedra,Darrow,diedra.darrow@megacorp.com,Mega Corporation,,diedradarrow
25
+ dolores.delay@megacorp.com,1,Dolores,Delay,dolores.delay@megacorp.com,Mega Corporation,,doloresdelay
26
+ dominica.dubberly@megacorp.com,1,Dominica,Dubberly,dominica.dubberly@megacorp.com,Mega Corporation,,dominicadubberly
27
+ eartha.edie@megacorp.com,1,Eartha,Edie,eartha.edie@megacorp.com,Mega Corporation,,earthaedie
28
+ edda.elam@megacorp.com,1,Edda,Elam,edda.elam@megacorp.com,Mega Corporation,,eddaelam
29
+ edris.ekhoff@megacorp.com,1,Edris,Ekhoff,edris.ekhoff@megacorp.com,Mega Corporation,,edrisekhoff
30
+ elden.easley@megacorp.com,1,Elden,Easley,elden.easley@megacorp.com,Mega Corporation,,eldeneasley
31
+ elena.eisert@megacorp.com,1,Elena,Eisert,elena.eisert@megacorp.com,Mega Corporation,,elenaeisert
32
+ elnora.efaw@megacorp.com,1,Elnora,Efaw,elnora.efaw@megacorp.com,Mega Corporation,,elnoraefaw
33
+ evelina.elders@megacorp.com,1,Evelina,Elders,evelina.elders@megacorp.com,Mega Corporation,,evelinaelders
34
+ evita.epting@megacorp.com,1,Evita,Epting,evita.epting@megacorp.com,Mega Corporation,,evitaepting
35
+ fausto.fortino@megacorp.com,1,Fausto,Fortino,fausto.fortino@megacorp.com,Mega Corporation,,faustofortino
36
+ georgeanna.griffiths@megacorp.com,1,Georgeanna,Griffiths,georgeanna.griffiths@megacorp.com,Mega Corporation,,georgeannagriffiths
37
+ georgine.grimmett@megacorp.com,1,Georgine,Grimmett,georgine.grimmett@megacorp.com,Mega Corporation,,georginegrimmett
38
+ gilbert.guerriero@megacorp.com,1,Gilbert,Guerriero,gilbert.guerriero@megacorp.com,Mega Corporation,,gilbertguerriero
39
+ gilda.gutirrez@megacorp.com,1,Gilda,Gutirrez,gilda.gutirrez@megacorp.com,Mega Corporation,,gildagutirrez
40
+ gregg.gault@megacorp.com,1,Gregg,Gault,gregg.gault@megacorp.com,Mega Corporation,,gregggault
41
+ guillermina.gloster@megacorp.com,1,Guillermina,Gloster,guillermina.gloster@megacorp.com,Mega Corporation,,guillerminagloster
42
+ herminia.hochmuth@megacorp.com,1,Herminia,Hochmuth,herminia.hochmuth@megacorp.com,Mega Corporation,,herminiahochmuth
43
+ hien.hamby@megacorp.com,1,Hien,Hamby,hien.hamby@megacorp.com,Mega Corporation,,hienhamby
44
+ hsiu.henningsen@megacorp.com,1,Hsiu,Henningsen,hsiu.henningsen@megacorp.com,Mega Corporation,,hsiuhenningsen
45
+ jacques.joaquin@megacorp.com,1,Jacques,Joaquin,jacques.joaquin@megacorp.com,Mega Corporation,,jacquesjoaquin
46
+ janay.johnson@megacorp.com,1,Janay,Johnson,janay.johnson@megacorp.com,Mega Corporation,,janayjohnson
47
+ jefferson.jock@megacorp.com,1,Jefferson,Jock,jefferson.jock@megacorp.com,Mega Corporation,,jeffersonjock
48
+ jenee.jahns@megacorp.com,1,Jenee,Jahns,jenee.jahns@megacorp.com,Mega Corporation,,jeneejahns
49
+ jeremy.jong@megacorp.com,1,Jeremy,Jong,jeremy.jong@megacorp.com,Mega Corporation,,jeremyjong
50
+ judith.joachim@megacorp.com,1,Judith,Joachim,judith.joachim@megacorp.com,Mega Corporation,,judithjoachim
51
+ julio.jerabek@megacorp.com,1,Julio,Jerabek,julio.jerabek@megacorp.com,Mega Corporation,,juliojerabek
52
+ kalyn.kimzey@megacorp.com,1,Kalyn,Kimzey,kalyn.kimzey@megacorp.com,Mega Corporation,,kalynkimzey
53
+ kamilah.kurland@megacorp.com,1,Kamilah,Kurland,kamilah.kurland@megacorp.com,Mega Corporation,,kamilahkurland
54
+ karlene.kirch@megacorp.com,1,Karlene,Kirch,karlene.kirch@megacorp.com,Mega Corporation,,karlenekirch
55
+ karrie.kindel@megacorp.com,1,Karrie,Kindel,karrie.kindel@megacorp.com,Mega Corporation,,karriekindel
56
+ kourtney.kyle@megacorp.com,1,Kourtney,Kyle,kourtney.kyle@megacorp.com,Mega Corporation,,kourtneykyle
57
+ kristen.kellems@megacorp.com,1,Kristen,Kellems,kristen.kellems@megacorp.com,Mega Corporation,,kristenkellems
58
+ lakeesha.loiacono@megacorp.com,1,Lakeesha,Loiacono,lakeesha.loiacono@megacorp.com,Mega Corporation,,lakeeshaloiacono
59
+ lashon.locker@megacorp.com,1,Lashon,Locker,lashon.locker@megacorp.com,Mega Corporation,,lashonlocker
60
+ le.leggett@megacorp.com,1,Le,Leggett,le.leggett@megacorp.com,Mega Corporation,,leleggett
61
+ lee.litchfield@megacorp.com,1,Lee,Litchfield,lee.litchfield@megacorp.com,Mega Corporation,,leelitchfield
62
+ leonor.limberg@megacorp.com,1,Leonor,Limberg,leonor.limberg@megacorp.com,Mega Corporation,,leonorlimberg
63
+ lien.lipscomb@megacorp.com,1,Lien,Lipscomb,lien.lipscomb@megacorp.com,Mega Corporation,,lienlipscomb
64
+ lillian.louviere@megacorp.com,1,Lillian,Louviere,lillian.louviere@megacorp.com,Mega Corporation,,lillianlouviere
65
+ luana.larson@megacorp.com,1,Luana,Larson,luana.larson@megacorp.com,Mega Corporation,,luanalarson
66
+ mac.malmberg@megacorp.com,1,Mac,Malmberg,mac.malmberg@megacorp.com,Mega Corporation,,macmalmberg
67
+ madeleine.magers@megacorp.com,1,Madeleine,Magers,madeleine.magers@megacorp.com,Mega Corporation,,madeleinemagers
68
+ mandie.mcquinn@megacorp.com,1,Mandie,Mcquinn,mandie.mcquinn@megacorp.com,Mega Corporation,,mandiemcquinn
69
+ mariella.molock@megacorp.com,1,Mariella,Molock,mariella.molock@megacorp.com,Mega Corporation,,mariellamolock
70
+ marietta.menzel@megacorp.com,1,Marietta,Menzel,marietta.menzel@megacorp.com,Mega Corporation,,mariettamenzel
71
+ marilou.mcintosh@megacorp.com,1,Marilou,Mcintosh,marilou.mcintosh@megacorp.com,Mega Corporation,,mariloumcintosh
72
+ martin.magallon@megacorp.com,1,Martin,Magallon,martin.magallon@megacorp.com,Mega Corporation,,martinmagallon
73
+ marylee.millsap@megacorp.com,1,Marylee,Millsap,marylee.millsap@megacorp.com,Mega Corporation,,maryleemillsap
74
+ melda.metheny@megacorp.com,1,Melda,Metheny,melda.metheny@megacorp.com,Mega Corporation,,meldametheny
75
+ melia.meche@megacorp.com,1,Melia,Meche,melia.meche@megacorp.com,Mega Corporation,,meliameche
76
+ merle.miceli@megacorp.com,1,Merle,Miceli,merle.miceli@megacorp.com,Mega Corporation,,merlemiceli
77
+ milford.mize@megacorp.com,1,Milford,Mize,milford.mize@megacorp.com,Mega Corporation,,milfordmize
78
+ miriam.messenger@megacorp.com,1,Miriam,Messenger,miriam.messenger@megacorp.com,Mega Corporation,,miriammessenger
79
+ monique.maly@megacorp.com,1,Monique,Maly,monique.maly@megacorp.com,Mega Corporation,,moniquemaly
80
+ moses.modisette@megacorp.com,1,Moses,Modisette,moses.modisette@megacorp.com,Mega Corporation,,mosesmodisette
81
+ myron.mclawhorn@megacorp.com,1,Myron,Mclawhorn,myron.mclawhorn@megacorp.com,Mega Corporation,,myronmclawhorn
82
+ nancie.nassar@megacorp.com,1,Nancie,Nassar,nancie.nassar@megacorp.com,Mega Corporation,,nancienassar
83
+ nannie.nobles@megacorp.com,1,Nannie,Nobles,nannie.nobles@megacorp.com,Mega Corporation,,nannienobles
84
+ nga.nordquist@megacorp.com,1,Nga,Nordquist,nga.nordquist@megacorp.com,Mega Corporation,,nganordquist
85
+ niesha.nold@megacorp.com,1,Niesha,Nold,niesha.nold@megacorp.com,Mega Corporation,,nieshanold
86
+ nydia.neil@megacorp.com,1,Nydia,Neil,nydia.neil@megacorp.com,Mega Corporation,,nydianeil
87
+ orville.oneill@megacorp.com,1,Orville,Oneill,orville.oneill@megacorp.com,Mega Corporation,,orvilleoneill
88
+ parker.paetzold@megacorp.com,1,Parker,Paetzold,parker.paetzold@megacorp.com,Mega Corporation,,parkerpaetzold
89
+ peggie.phillips@megacorp.com,1,Peggie,Phillips,peggie.phillips@megacorp.com,Mega Corporation,,peggiephillips
90
+ quiana.quesnel@megacorp.com,1,Quiana,Quesnel,quiana.quesnel@megacorp.com,Mega Corporation,,quianaquesnel
91
+ rafaela.rasco@megacorp.com,1,Rafaela,Rasco,rafaela.rasco@megacorp.com,Mega Corporation,,rafaelarasco
92
+ reinaldo.reardon@megacorp.com,1,Reinaldo,Reardon,reinaldo.reardon@megacorp.com,Mega Corporation,,reinaldoreardon
93
+ renea.rubenstein@megacorp.com,1,Renea,Rubenstein,renea.rubenstein@megacorp.com,Mega Corporation,,renearubenstein
94
+ retta.rosso@megacorp.com,1,Retta,Rosso,retta.rosso@megacorp.com,Mega Corporation,,rettarosso
95
+ robbi.rosendahl@megacorp.com,1,Robbi,Rosendahl,robbi.rosendahl@megacorp.com,Mega Corporation,,robbirosendahl
96
+ rolf.rueb@megacorp.com,1,Rolf,Rueb,rolf.rueb@megacorp.com,Mega Corporation,,rolfrueb
97
+ rory.rollinson@megacorp.com,1,Rory,Rollinson,rory.rollinson@megacorp.com,Mega Corporation,,roryrollinson
98
+ rubin.ravenscroft@megacorp.com,1,Rubin,Ravenscroft,rubin.ravenscroft@megacorp.com,Mega Corporation,,rubinravenscroft
99
+ ruby.rieser@megacorp.com,1,Ruby,Rieser,ruby.rieser@megacorp.com,Mega Corporation,,rubyrieser
100
+ shani.spinks@megacorp.com,1,Shani,Spinks,shani.spinks@megacorp.com,Mega Corporation,,shanispinks
101
+ shemika.spikes@megacorp.com,1,Shemika,Spikes,shemika.spikes@megacorp.com,Mega Corporation,,shemikaspikes
102
+ shira.sitzes@megacorp.com,1,Shira,Sitzes,shira.sitzes@megacorp.com,Mega Corporation,,shirasitzes
103
+ shirely.stowe@megacorp.com,1,Shirely,Stowe,shirely.stowe@megacorp.com,Mega Corporation,,shirelystowe
104
+ silva.sotelo@megacorp.com,1,Silva,Sotelo,silva.sotelo@megacorp.com,Mega Corporation,,silvasotelo
105
+ skye.strobl@megacorp.com,1,Skye,Strobl,skye.strobl@megacorp.com,Mega Corporation,,skyestrobl
106
+ stan.stokely@megacorp.com,1,Stan,Stokely,stan.stokely@megacorp.com,Mega Corporation,,stanstokely
107
+ starla.scheiber@megacorp.com,1,Starla,Scheiber,starla.scheiber@megacorp.com,Mega Corporation,,starlascheiber
108
+ sung.skipper@megacorp.com,1,Sung,Skipper,sung.skipper@megacorp.com,Mega Corporation,,sungskipper
109
+ tajuana.thies@megacorp.com,1,Tajuana,Thies,tajuana.thies@megacorp.com,Mega Corporation,,tajuanathies
110
+ tenisha.tinajero@megacorp.com,1,Tenisha,Tinajero,tenisha.tinajero@megacorp.com,Mega Corporation,,tenishatinajero
111
+ tessa.treiber@megacorp.com,1,Tessa,Treiber,tessa.treiber@megacorp.com,Mega Corporation,,tessatreiber
112
+ theodore.talbert@megacorp.com,1,Theodore,Talbert,theodore.talbert@megacorp.com,Mega Corporation,,theodoretalbert
113
+ tiny.tacy@megacorp.com,1,Tiny,Tacy,tiny.tacy@megacorp.com,Mega Corporation,,tinytacy
114
+ vallie.vizcaino@megacorp.com,1,Vallie,Vizcaino,vallie.vizcaino@megacorp.com,Mega Corporation,,vallievizcaino
115
+ van.villanveva@megacorp.com,1,Van,Villanveva,van.villanveva@megacorp.com,Mega Corporation,,vanvillanveva
116
+ wes.wallner@megacorp.com,1,Wes,Wallner,wes.wallner@megacorp.com,Mega Corporation,,weswallner
117
+ winifred.wessels@megacorp.com,1,Winifred,Wessels,winifred.wessels@megacorp.com,Mega Corporation,,winifredwessels
118
+ yun.yarberry@megacorp.com,1,Yun,Yarberry,yun.yarberry@megacorp.com,Mega Corporation,,yunyarberry
119
+ zelma.zemke@megacorp.com,1,Zelma,Zemke,zelma.zemke@megacorp.com,Mega Corporation,,zelmazemke
@@ -0,0 +1,67 @@
1
+
2
+ module CommandTestHelper
3
+
4
+ def with_params(params, &block)
5
+ context "with params "+params.to_s do
6
+ let(:with_params) { params }
7
+ self.instance_eval &block
8
+ end
9
+ end
10
+
11
+ def it_should_call_action(action, params)
12
+ it "should call action "+action.to_s do
13
+ arguments ||= respond_to?(:with_params) ? with_params : []
14
+ cmd.resource.resource_class.expects_with(action, params)
15
+ cmd.run(arguments)
16
+ end
17
+ end
18
+
19
+ def it_should_fail_with(message, arguments=[])
20
+ it "should fail with " + message.to_s do
21
+ proc { cmd.run(arguments) }.must_raise Clamp::UsageError
22
+ end
23
+ end
24
+
25
+ def it_should_accept(message, arguments=[])
26
+ it "should accept " + message.to_s do
27
+ cmd.run(arguments).must_equal HammerCLI::EX_OK
28
+ end
29
+ end
30
+
31
+ def it_should_print_column(column_name, arguments=nil)
32
+ it "should print column " + column_name do
33
+ arguments ||= respond_to?(:with_params) ? with_params : []
34
+
35
+ cmd.stubs(:context).returns({ :adapter => :test })
36
+ proc { cmd.run(arguments) }.must_output /.*##{column_name}#.*/
37
+ end
38
+ end
39
+
40
+ def it_should_print_columns(column_names, arguments=nil)
41
+ column_names.each do |name|
42
+ it_should_print_column name, arguments
43
+ end
44
+ end
45
+
46
+ def it_should_print_n_records(count=nil, arguments=nil)
47
+ it "should print correct count of records" do
48
+ arguments ||= respond_to?(:with_params) ? with_params : []
49
+
50
+ cmd.stubs(:context).returns({ :adapter => :test })
51
+ count ||= expected_record_count rescue 0
52
+ out, err = capture_io do
53
+ cmd.run(arguments)
54
+ end
55
+
56
+ out.split(/\n/).length.must_equal count+1 # plus 1 for line with column headers
57
+ end
58
+ end
59
+
60
+ def it_should_accept_search_params
61
+ it_should_accept "search", ["--search=some_search"]
62
+ it_should_accept "per page", ["--per-page=1"]
63
+ it_should_accept "page", ["--page=2"]
64
+ it_should_accept "order", ["--order=order"]
65
+ end
66
+
67
+ end
@@ -0,0 +1,69 @@
1
+ #require File.join(File.dirname(__FILE__), '../test_output_adapter')
2
+
3
+
4
+ module CommandTestHelper
5
+
6
+ def with_params(params, &block)
7
+ context "with params "+params.to_s do
8
+ let(:with_params) { params }
9
+ self.instance_eval &block
10
+ end
11
+ end
12
+
13
+ def it_should_call_action(action, params)
14
+ it "should call action "+action.to_s do
15
+ arguments ||= respond_to?(:with_params) ? with_params : []
16
+ cmd.resource.resource_class.expects_with(action, params)
17
+ cmd.run(arguments)
18
+ end
19
+ end
20
+
21
+ def it_should_fail_with(message, arguments=[])
22
+ it "should fail with " + message.to_s do
23
+ proc { cmd.run(arguments) }.must_raise Clamp::UsageError
24
+ end
25
+ end
26
+
27
+ def it_should_accept(message, arguments=[])
28
+ it "should accept " + message.to_s do
29
+ cmd.run(arguments).must_equal HammerCLI::EX_OK
30
+ end
31
+ end
32
+
33
+ def it_should_print_column(column_name, arguments=nil)
34
+ it "should print column " + column_name do
35
+ arguments ||= respond_to?(:with_params) ? with_params : []
36
+
37
+ cmd.stubs(:context).returns({ :adapter => :test })
38
+ proc { cmd.run(arguments) }.must_output /.*##{column_name}#.*/
39
+ end
40
+ end
41
+
42
+ def it_should_print_columns(column_names, arguments=nil)
43
+ column_names.each do |name|
44
+ it_should_print_column name, arguments
45
+ end
46
+ end
47
+
48
+ def it_should_print_n_records(count=nil, arguments=nil)
49
+ it "should print correct count of records" do
50
+ arguments ||= respond_to?(:with_params) ? with_params : []
51
+
52
+ cmd.stubs(:context).returns({ :adapter => :test })
53
+ count ||= expected_record_count rescue 0
54
+ out, err = capture_io do
55
+ cmd.run(arguments)
56
+ end
57
+
58
+ out.split(/\n/).length.must_equal count+1 # plus 1 for line with column headers
59
+ end
60
+ end
61
+
62
+ def it_should_accept_search_params
63
+ it_should_accept "search", ["--search=some_search"]
64
+ it_should_accept "per page", ["--per-page=1"]
65
+ it_should_accept "page", ["--page=2"]
66
+ it_should_accept "order", ["--order=order"]
67
+ end
68
+
69
+ end
@@ -0,0 +1,47 @@
1
+ require File.join(File.dirname(__FILE__), 'csv_test_helper')
2
+
3
+ describe 'setup' do
4
+
5
+ extend CommandTestHelper
6
+
7
+ before :each do
8
+ HammerCLI::Settings.load_from_file 'test/config.yml'
9
+ end
10
+
11
+ context 'Test hosts from setup' do
12
+
13
+ it "hammer -v --csv host list --search=name=dhcp129-000.megacorp.com" do
14
+ stdout,stderr = capture {
15
+ hammer.run(%W{-v --csv host list --search=name=dhcp129-000.megacorp.com})
16
+ }
17
+ stderr.must_equal ''
18
+ stdout.split("\n").length.must_equal 2
19
+ stdout.must_match /.*dhcp129-000\.megacorp\.com.*/
20
+
21
+ host_id = stdout.split("\n")[1].split(",")[0]
22
+ end
23
+
24
+ let(:host_id) {
25
+ stdout,stderr = capture {
26
+ hammer.run(%W{-v --csv host list --search=name=dhcp129-000.megacorp.com})
27
+ }
28
+ host_id = stdout.split("\n")[1].split(",")[0]
29
+ }
30
+
31
+ it "hammer -v host info --id $id" do
32
+ stdout,stderr = capture {
33
+ hammer.run(%W{-v host info --id #{host_id}})
34
+ }
35
+ stderr.must_equal ''
36
+ attributes = {}
37
+ stdout.split("\n").each do |line|
38
+ name,value = line.split(":")
39
+ attributes[name.strip] = (value.nil? ? '' : value.strip)
40
+ end
41
+ attributes['Id'].must_equal host_id
42
+ attributes['Name'].must_equal 'dhcp129-000.megacorp.com'
43
+
44
+ end
45
+ end
46
+
47
+ end
@@ -0,0 +1,74 @@
1
+ require File.join(File.dirname(__FILE__), 'csv_test_helper')
2
+
3
+ describe 'organizations' do
4
+
5
+ extend CommandTestHelper
6
+
7
+ before :each do
8
+ HammerCLI::Settings.load_from_file 'test/config.yml'
9
+
10
+ @api = ApipieBindings::API.new({
11
+ :uri => HammerCLI::Settings.get(:csv, :host),
12
+ :username => HammerCLI::Settings.get(:csv, :username),
13
+ :password => HammerCLI::Settings.get(:csv, :password),
14
+ :api_version => 2
15
+ })
16
+
17
+ end
18
+
19
+ context "organizations CRUD" do
20
+
21
+ it "create, update, delete" do
22
+
23
+ name = "host#{rand(10000)}"
24
+
25
+ # Create organization
26
+ file = Tempfile.new('organizations_test')
27
+ file.write("Name,Count,Org Label,Description\n")
28
+ file.write("#{name},1,#{name},A test organization\n")
29
+ file.rewind
30
+
31
+ stdout,stderr = capture {
32
+ hammer.run(%W{csv organizations -v --csv-file #{file.path}})
33
+ }
34
+ stderr.must_equal ''
35
+ stdout[0..-2].must_equal "Creating organization '#{name}'... done"
36
+ file.unlink
37
+
38
+ # Update organization
39
+ file = Tempfile.new('organizations_test')
40
+ file.write("Name,Count,Org Label,Description\n")
41
+ file.write("#{name},1,#{name},An updated test organization\n")
42
+ file.rewind
43
+
44
+ stdout,stderr = capture {
45
+ hammer.run(%W{csv organizations -v --csv-file #{file.path}})
46
+ }
47
+ stderr.must_equal ''
48
+ stdout[0..-2].must_equal "Updating organization '#{name}'... done"
49
+ file.unlink
50
+
51
+ # Verify organization
52
+ organization = @api.resource(:organizations).call(:index, {
53
+ 'search' => "name=\"#{name}\""
54
+ })['results']
55
+ organization.wont_be_nil
56
+ organization.wont_be_empty
57
+ organization[0]['name'].must_equal name
58
+
59
+ # Clean up
60
+ @api.resource(:organizations).call(:destroy, {
61
+ 'id' => organization[0]['id']
62
+ })
63
+
64
+ # Verify organization
65
+ organization = @api.resource(:organizations).call(:index, {
66
+ 'search' => "name=\"#{name}\""
67
+ })['results']
68
+ organization.wont_be_nil
69
+ organization.will_be_empty
70
+
71
+ end
72
+
73
+ end
74
+ end
@@ -0,0 +1,39 @@
1
+ require File.join(File.dirname(__FILE__), 'csv_test_helper')
2
+ #require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
3
+ require 'stringio'
4
+ require 'tempfile'
5
+
6
+ describe 'something' do
7
+
8
+ extend CommandTestHelper
9
+
10
+
11
+ before :each do
12
+ HammerCLI::Settings.load_from_file 'test/config.yml'
13
+ end
14
+
15
+ context 'activation keys' do
16
+
17
+ # Expected output of the form:
18
+ # ID,Name,Consumed
19
+ # 1,damon.dials@megacorp.com,0 of Unlimited
20
+ it 'allows show' do
21
+ set_user 'damon.dials@megacorp.com'
22
+
23
+ stdout,stderr = capture {
24
+ hammer.run(%W{activation-key list --organization-id megacorp}).must_equal HammerCLI::EX_OK
25
+ }
26
+ lines = stdout.split("\n")
27
+ lines.length.must_equal 2
28
+ lines[1].must_match /.*damon.dials@megacorp\.com.*/
29
+
30
+ id = lines[1].split(',')[0]
31
+ stdout,stderr = capture {
32
+ hammer.run(%W{activation-key info --id #{id}}).must_equal HammerCLI::EX_OK
33
+ }
34
+ stdout.split("\n")[1].must_match /.*damon.dials@megacorp.com,[0-9]+,Individual account,Library,Default Organization View/
35
+ end
36
+
37
+ end
38
+
39
+ end
@@ -0,0 +1,164 @@
1
+ require File.join(File.dirname(__FILE__), 'csv_test_helper')
2
+
3
+ describe 'setup' do
4
+
5
+ extend CommandTestHelper
6
+
7
+ before :each do
8
+ HammerCLI::Settings.load_from_file 'test/config.yml'
9
+ end
10
+
11
+ context 'Setup Organizations' do
12
+ it "hammer csv organizations -v --csv-file test/data/organizations.csv" do
13
+ stdout,stderr = capture {
14
+ hammer.run(%W{csv organizations -v --csv-file test/data/organizations.csv})
15
+ }
16
+ stderr.must_equal ''
17
+ stdout.must_match /.*organization 'Mega Corporation'.*/
18
+ end
19
+ end
20
+
21
+ context 'Setup Locations' do
22
+ it "hammer csv locations -v --csv-file test/data/locations.csv" do
23
+ stdout,stderr = capture {
24
+ hammer.run(%W{csv locations -v --csv-file test/data/locations.csv})
25
+ }
26
+ stderr.must_equal ''
27
+ stdout.must_match /.*Asia Pacific.*/
28
+ end
29
+ end
30
+
31
+ context 'Setup' do
32
+ it "hammer csv operating-systems -v --csv-file test/data/operatingsystems.csv" do
33
+ stdout,stderr = capture {
34
+ hammer.run(%W{csv operating-systems -v --csv-file test/data/operatingsystems.csv})
35
+ }
36
+ stderr.must_equal ''
37
+ stdout.must_match /.*operating system 'Fedora 18'.*/
38
+ end
39
+ end
40
+
41
+ context 'Setup' do
42
+ it "hammer csv architectures -v --csv-file test/data/architectures.csv" do
43
+ stdout,stderr = capture {
44
+ hammer.run(%W{csv architectures -v --csv-file test/data/architectures.csv})
45
+ }
46
+ stderr.must_equal ''
47
+ stdout.must_match /.*architecture 'x86_64'.*/
48
+ end
49
+ end
50
+
51
+ context 'Setup' do
52
+ it "hammer csv partitiontables -v --csv-file test/data/partitiontables.csv" do
53
+ stdout,stderr = capture {
54
+ hammer.run(%W{csv partition-tables -v --csv-file test/data/partitiontables.csv})
55
+ }
56
+ stderr.must_equal ''
57
+ stdout.must_match /.*ptable 'ext4 default'.*/
58
+ end
59
+ end
60
+
61
+ context 'Setup' do
62
+ it "hammer csv domains -v --csv-file test/data/domains.csv" do
63
+ stdout,stderr = capture {
64
+ hammer.run(%W{csv domains -v --csv-file test/data/domains.csv})
65
+ }
66
+ stderr.must_equal ''
67
+ stdout.must_match /.*domain 'megacorp.com'.*/
68
+ end
69
+ end
70
+
71
+ context 'Setup' do
72
+ it "hammer csv puppet-environments -v --csv-file test/data/puppetenvironments.csv" do
73
+ stdout,stderr = capture {
74
+ hammer.run(%W{csv puppet-environments -v --csv-file test/data/puppetenvironments.csv})
75
+ }
76
+ stderr.must_equal ''
77
+ stdout.must_match /.*environment 'Development'.*/
78
+ end
79
+ end
80
+
81
+ context 'Setup' do
82
+ it "hammer csv hosts -v --csv-file test/data/hosts.csv" do
83
+ stdout,stderr = capture {
84
+ hammer.run(%W{csv hosts -v --csv-file test/data/hosts.csv})
85
+ }
86
+ stderr.must_equal ''
87
+ stdout.split("\n").length.must_equal 255
88
+ stdout.must_match /.*host 'dhcp129-000\.megacorp\.com'.*/
89
+ end
90
+ end
91
+
92
+ context 'Setup' do
93
+ it "hammer csv puppet-facts -v --csv-file test/data/puppetfacts.csv" do
94
+ stdout,stderr = capture {
95
+ hammer.run(%W{csv puppet-facts -v --csv-file test/data/puppetfacts.csv})
96
+ }
97
+ stderr.must_equal ''
98
+ stdout.must_match /.*puppetfacts 'dhcp129-000.megacorp.com'.*/
99
+ end
100
+ end
101
+
102
+ context 'subscription setup' do
103
+ it "hammer subscription upload -v --organization-id megacorp --file test/data/megacorp.zip" do
104
+ # TODO: http://projects.theforeman.org/issues/4748
105
+ "".must_equal "TODO: Bug #4748 - errors on import manifest should complete dynflow task and display information to user"
106
+ stdout,stderr = capture {
107
+ hammer.run(%W{-v subscription upload --organization-id megacorp --file test/data/megacorp.zip})
108
+ }
109
+ stderr.must_equal ''
110
+ stdout.must_match '.*Manifest is being uploaded.*'
111
+ end
112
+ end
113
+
114
+ context 'Setup' do
115
+ it "hammer csv products -v --csv-file test/data/products.csv" do
116
+ stdout,stderr = capture {
117
+ hammer.run(%W{csv products -v --csv-file test/data/products.csv})
118
+ }
119
+ stderr.must_equal ''
120
+ stdout.must_match /.*product 'Point of Sale'.*/
121
+ end
122
+ end
123
+
124
+ context 'Setup' do
125
+ it "hammer csv lifecycle-environments -v --csv-file test/data/lifecycleenvironments.csv" do
126
+ stdout,stderr = capture {
127
+ hammer.run(%W{csv lifecycle-environments -v --csv-file test/data/lifecycleenvironments.csv})
128
+ }
129
+ stderr.must_equal ''
130
+ stdout.must_match /.*environment 'Development'.*/
131
+ end
132
+ end
133
+
134
+ context 'Setup' do
135
+ it "hammer csv system-groups -v --csv-file test/data/systemgroups.csv" do
136
+ stdout,stderr = capture {
137
+ hammer.run(%W{csv system-groups -v --csv-file test/data/systemgroups.csv})
138
+ }
139
+ stderr.must_equal ''
140
+ stdout.must_match /.*system group 'Mega Corp HQ'.*/
141
+ end
142
+ end
143
+
144
+ context 'Setup' do
145
+ it "hammer csv systems -v --csv-file test/data/systems.csv" do
146
+ stdout,stderr = capture {
147
+ hammer.run(%W{csv systems -v --csv-file test/data/systems.csv})
148
+ }
149
+ stderr.must_equal ''
150
+ stdout.must_match /.*system 'host0'.*/
151
+ end
152
+ end
153
+
154
+ context 'Setup' do
155
+ it "hammer csv activation-keys -v --csv-file test/data/activationkeys.csv" do
156
+ stdout,stderr = capture {
157
+ hammer.run(%W{csv activation-keys -v --csv-file test/data/activationkeys.csv})
158
+ }
159
+ stderr.must_equal ''
160
+ stdout.must_match /.*activation key 'damon\.dials@megacorp\.com'.*/
161
+ end
162
+ end
163
+
164
+ end