hammer_cli_csv 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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