sfcc 0.1.1 → 0.1.2
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.
- data/CHANGELOG.rdoc +6 -0
- data/README.rdoc +10 -0
- data/ext/sfcc/cim_client.c +2 -0
- data/ext/sfcc/cim_object_path.c +13 -7
- data/ext/sfcc/sfcc.h +10 -1
- data/lib/sfcc.rb +1 -3
- data/lib/sfcc/version.rb +3 -0
- metadata +77 -110
- data/MIT-LICENSE +0 -22
- data/Manifest.txt +0 -28
- data/Rakefile +0 -32
- data/TODO.rdoc +0 -28
- data/test/helper.rb +0 -32
- data/test/test_sfcc.rb +0 -69
- data/test/test_sfcc_cim_class.rb +0 -53
- data/test/test_sfcc_cim_client.rb +0 -164
- data/test/test_sfcc_cim_enumeration.rb +0 -24
- data/test/test_sfcc_cim_instance.rb +0 -89
- data/test/test_sfcc_cim_object_path.rb +0 -85
data/CHANGELOG.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -54,6 +54,16 @@ ruby-like API to do CIM based management.
|
|
54
54
|
|
55
55
|
* ObjectPath qualifier methods crash
|
56
56
|
|
57
|
+
== Links
|
58
|
+
|
59
|
+
=== Documentation
|
60
|
+
|
61
|
+
* http://rdoc.info/projects/dmacvicar/ruby-sfcc
|
62
|
+
|
63
|
+
=== Code Metrics
|
64
|
+
|
65
|
+
* http://getcaliper.com/caliper/project?repo=git%3A%2F%2Fgithub.com%2Fdmacvicar%2Fruby-sfcc.git
|
66
|
+
|
57
67
|
== Authors
|
58
68
|
|
59
69
|
* Duncan Mac-Vicar P. <dmacvicar@suse.de>
|
data/ext/sfcc/cim_client.c
CHANGED
@@ -65,6 +65,8 @@ static VALUE get_class(int argc, VALUE *argv, VALUE self)
|
|
65
65
|
*
|
66
66
|
* return the available class names for the given
|
67
67
|
* +object_path+ and +flags+
|
68
|
+
*
|
69
|
+
* The following flag is supported: Flags::DeepInheritance.
|
68
70
|
*/
|
69
71
|
static VALUE class_names(int argc, VALUE *argv, VALUE self)
|
70
72
|
{
|
data/ext/sfcc/cim_object_path.c
CHANGED
@@ -39,7 +39,7 @@ static VALUE namespace(VALUE self)
|
|
39
39
|
Data_Get_Struct(self, CMPIObjectPath, ptr);
|
40
40
|
cimstr = ptr->ft->getNameSpace(ptr, &status);
|
41
41
|
if (!status.rc)
|
42
|
-
return
|
42
|
+
return CIMSTR_2_RUBYSTR(cimstr);
|
43
43
|
sfcc_rb_raise_if_error(status, "Can't get namespace");
|
44
44
|
return Qnil;
|
45
45
|
}
|
@@ -76,7 +76,7 @@ static VALUE hostname(VALUE self)
|
|
76
76
|
Data_Get_Struct(self, CMPIObjectPath, ptr);
|
77
77
|
cimstr = ptr->ft->getHostname(ptr, &status);
|
78
78
|
if (!status.rc)
|
79
|
-
return
|
79
|
+
return CIMSTR_2_RUBYSTR(cimstr);
|
80
80
|
sfcc_rb_raise_if_error(status, "Can't get hostname");
|
81
81
|
return Qnil;
|
82
82
|
}
|
@@ -106,7 +106,7 @@ static VALUE class_name(VALUE self)
|
|
106
106
|
CMPIString *cimstr = NULL;
|
107
107
|
Data_Get_Struct(self, CMPIObjectPath, ptr);
|
108
108
|
cimstr = ptr->ft->getClassName(ptr, NULL);
|
109
|
-
return
|
109
|
+
return CIMSTR_2_RUBYSTR(cimstr);
|
110
110
|
}
|
111
111
|
|
112
112
|
/**
|
@@ -170,7 +170,7 @@ static VALUE each_key(VALUE self)
|
|
170
170
|
for (; k < num_props; ++k) {
|
171
171
|
data = ptr->ft->getKeyAt(ptr, k, &key_name, &status);
|
172
172
|
if (!status.rc) {
|
173
|
-
rb_yield_values(2,
|
173
|
+
rb_yield_values(2, rb_str_intern(CIMSTR_2_RUBYSTR(key_name)), sfcc_cimdata_to_value(data));
|
174
174
|
}
|
175
175
|
else {
|
176
176
|
sfcc_rb_raise_if_error(status, "Can't retrieve key #%d", k);
|
@@ -350,7 +350,7 @@ static VALUE to_s(VALUE self)
|
|
350
350
|
CMPIString *cimstr = NULL;
|
351
351
|
Data_Get_Struct(self, CMPIObjectPath, ptr);
|
352
352
|
cimstr = ptr->ft->toString(ptr, NULL);
|
353
|
-
return
|
353
|
+
return CIMSTR_2_RUBYSTR(cimstr);
|
354
354
|
}
|
355
355
|
|
356
356
|
/**
|
@@ -360,12 +360,18 @@ static VALUE to_s(VALUE self)
|
|
360
360
|
* Creates an object path from +namespace+ and +class_name+
|
361
361
|
*
|
362
362
|
*/
|
363
|
-
static VALUE new(
|
363
|
+
static VALUE new(int argc, VALUE *argv, VALUE self)
|
364
364
|
{
|
365
|
+
VALUE namespace;
|
366
|
+
VALUE class_name;
|
367
|
+
|
365
368
|
CMPIStatus status;
|
366
369
|
CMPIObjectPath *ptr = NULL;
|
367
370
|
CMPIObjectPath *newop = NULL;
|
368
371
|
memset(&status, 0, sizeof(CMPIStatus));
|
372
|
+
|
373
|
+
rb_scan_args(argc, argv, "11", &namespace, &class_name);
|
374
|
+
|
369
375
|
ptr = newCMPIObjectPath(NIL_P(namespace) ? NULL : StringValuePtr(namespace),
|
370
376
|
NIL_P(class_name) ? NULL : StringValuePtr(class_name),
|
371
377
|
&status);
|
@@ -398,7 +404,7 @@ void init_cim_object_path()
|
|
398
404
|
VALUE klass = rb_define_class_under(cimc, "ObjectPath", rb_cObject);
|
399
405
|
cSfccCimObjectPath = klass;
|
400
406
|
|
401
|
-
rb_define_singleton_method(klass, "new", new,
|
407
|
+
rb_define_singleton_method(klass, "new", new, -1);
|
402
408
|
rb_define_method(klass, "namespace=", set_namespace, 1);
|
403
409
|
rb_define_method(klass, "namespace", namespace, 0);
|
404
410
|
rb_define_method(klass, "hostname=", set_hostname, 1);
|
data/ext/sfcc/sfcc.h
CHANGED
@@ -16,7 +16,14 @@
|
|
16
16
|
#include <CimClientLib/cmcimacs.h>
|
17
17
|
|
18
18
|
#include "ruby.h"
|
19
|
-
|
19
|
+
|
20
|
+
#include <ruby.h>
|
21
|
+
#ifdef HAVE_RUBY_ST_H
|
22
|
+
# include <ruby/st.h>
|
23
|
+
#else
|
24
|
+
# include <st.h>
|
25
|
+
#endif
|
26
|
+
|
20
27
|
#include <unistd.h>
|
21
28
|
#include <stdlib.h>
|
22
29
|
|
@@ -49,6 +56,8 @@ extern VALUE mSfccCim;
|
|
49
56
|
|
50
57
|
#define SFCC_INC_REFCOUNT(x) (void)(0);
|
51
58
|
|
59
|
+
#define CIMSTR_2_RUBYSTR(x) (x ? (x->ft->getCharPtr(x, NULL) ? rb_str_new2(x->ft->getCharPtr(x, NULL)) : Qnil) : Qnil)
|
60
|
+
|
52
61
|
/**
|
53
62
|
* raises a ruby exception if the status is an error
|
54
63
|
* whenever possible, adds the custom message if not null
|
data/lib/sfcc.rb
CHANGED
data/lib/sfcc/version.rb
ADDED
metadata
CHANGED
@@ -1,173 +1,140 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sfcc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
|
-
- Duncan Mac-Vicar
|
12
|
+
- Duncan Mac-Vicar
|
8
13
|
autorequire:
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-08-19 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: "0"
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: yard
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
name: rake-compiler
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
30
25
|
requirements:
|
31
26
|
- - ">="
|
32
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
33
30
|
version: "0"
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rubyforge
|
37
31
|
type: :development
|
38
|
-
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 2.0.3
|
44
|
-
version:
|
32
|
+
version_requirements: *id001
|
45
33
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
47
|
-
|
48
|
-
|
49
|
-
|
34
|
+
name: mocha
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
50
38
|
requirements:
|
51
39
|
- - ">="
|
52
40
|
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
- 9
|
44
|
+
version: "0.9"
|
45
|
+
type: :development
|
46
|
+
version_requirements: *id002
|
55
47
|
- !ruby/object:Gem::Dependency
|
56
48
|
name: yard
|
57
|
-
|
58
|
-
|
59
|
-
|
49
|
+
prerelease: false
|
50
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
60
52
|
requirements:
|
61
53
|
- - ">="
|
62
54
|
- !ruby/object:Gem::Version
|
63
|
-
|
64
|
-
|
65
|
-
-
|
66
|
-
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
- 5
|
58
|
+
version: "0.5"
|
67
59
|
type: :development
|
68
|
-
|
69
|
-
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 0.1.1
|
74
|
-
version:
|
60
|
+
version_requirements: *id003
|
75
61
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
77
|
-
|
78
|
-
|
79
|
-
|
62
|
+
name: shoulda
|
63
|
+
prerelease: false
|
64
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
80
66
|
requirements:
|
81
67
|
- - ">="
|
82
68
|
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
83
71
|
version: "0"
|
84
|
-
version:
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: hoe
|
87
72
|
type: :development
|
88
|
-
|
89
|
-
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
requirements:
|
91
|
-
- - ">="
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 2.5.0
|
94
|
-
version:
|
73
|
+
version_requirements: *id004
|
95
74
|
description: ruby-sfcc allows to access a CIMOM either with the WBEM protocol or by using the SfcbLocal interface provided by the sblim-sfcb CIMOM implementation from the sblim project.
|
96
75
|
email:
|
97
76
|
- dmacvicar@suse.de
|
98
77
|
executables: []
|
99
78
|
|
100
|
-
extensions:
|
101
|
-
|
102
|
-
extra_rdoc_files:
|
103
|
-
|
104
|
-
- README.rdoc
|
105
|
-
- CHANGELOG.rdoc
|
106
|
-
- TODO.rdoc
|
79
|
+
extensions: []
|
80
|
+
|
81
|
+
extra_rdoc_files: []
|
82
|
+
|
107
83
|
files:
|
108
|
-
-
|
109
|
-
-
|
110
|
-
-
|
111
|
-
- README.rdoc
|
112
|
-
- Rakefile
|
113
|
-
- TODO.rdoc
|
114
|
-
- ext/sfcc/cim_class.c
|
115
|
-
- ext/sfcc/cim_class.h
|
116
|
-
- ext/sfcc/cim_client.c
|
84
|
+
- lib/sfcc.rb
|
85
|
+
- lib/sfcc/version.rb
|
86
|
+
- ext/sfcc/extconf.rb
|
117
87
|
- ext/sfcc/cim_client.h
|
118
|
-
- ext/sfcc/
|
119
|
-
- ext/sfcc/cim_enumeration.h
|
120
|
-
- ext/sfcc/cim_instance.c
|
88
|
+
- ext/sfcc/cim_object_path.h
|
121
89
|
- ext/sfcc/cim_instance.h
|
90
|
+
- ext/sfcc/cim_enumeration.h
|
91
|
+
- ext/sfcc/sfcc.h
|
92
|
+
- ext/sfcc/cim_class.h
|
93
|
+
- ext/sfcc/cim_string.h
|
94
|
+
- ext/sfcc/cim_enumeration.c
|
95
|
+
- ext/sfcc/cim_client.c
|
122
96
|
- ext/sfcc/cim_object_path.c
|
123
|
-
- ext/sfcc/cim_object_path.h
|
124
97
|
- ext/sfcc/cim_string.c
|
125
|
-
- ext/sfcc/
|
126
|
-
- ext/sfcc/extconf.rb
|
98
|
+
- ext/sfcc/cim_instance.c
|
127
99
|
- ext/sfcc/sfcc.c
|
128
|
-
- ext/sfcc/
|
129
|
-
-
|
130
|
-
-
|
131
|
-
- test/test_sfcc.rb
|
132
|
-
- test/test_sfcc_cim_class.rb
|
133
|
-
- test/test_sfcc_cim_client.rb
|
134
|
-
- test/test_sfcc_cim_instance.rb
|
135
|
-
- test/test_sfcc_cim_object_path.rb
|
100
|
+
- ext/sfcc/cim_class.c
|
101
|
+
- CHANGELOG.rdoc
|
102
|
+
- README.rdoc
|
136
103
|
has_rdoc: true
|
137
|
-
homepage: http://github.com/dmacvicar/ruby-sfcc
|
104
|
+
homepage: http://www.github.com/dmacvicar/ruby-sfcc
|
138
105
|
licenses: []
|
139
106
|
|
140
|
-
post_install_message:
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
107
|
+
post_install_message: " ____\n\
|
108
|
+
/@ ~-.\n\
|
109
|
+
/ __ .- | remember to have fun! \n // // @ \n\n"
|
110
|
+
rdoc_options: []
|
111
|
+
|
145
112
|
require_paths:
|
146
113
|
- lib
|
147
|
-
- ext
|
148
114
|
required_ruby_version: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
149
116
|
requirements:
|
150
117
|
- - ">="
|
151
118
|
- !ruby/object:Gem::Version
|
119
|
+
segments:
|
120
|
+
- 0
|
152
121
|
version: "0"
|
153
|
-
version:
|
154
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
155
124
|
requirements:
|
156
125
|
- - ">="
|
157
126
|
- !ruby/object:Gem::Version
|
158
|
-
|
159
|
-
|
127
|
+
segments:
|
128
|
+
- 1
|
129
|
+
- 3
|
130
|
+
- 6
|
131
|
+
version: 1.3.6
|
160
132
|
requirements: []
|
161
133
|
|
162
|
-
rubyforge_project:
|
163
|
-
rubygems_version: 1.3.
|
134
|
+
rubyforge_project:
|
135
|
+
rubygems_version: 1.3.7
|
164
136
|
signing_key:
|
165
137
|
specification_version: 3
|
166
138
|
summary: WBEM client for ruby based on the sblim-sfcc library
|
167
|
-
test_files:
|
168
|
-
|
169
|
-
- test/test_sfcc_cim_enumeration.rb
|
170
|
-
- test/test_sfcc_cim_client.rb
|
171
|
-
- test/test_sfcc_cim_instance.rb
|
172
|
-
- test/test_sfcc.rb
|
173
|
-
- test/test_sfcc_cim_class.rb
|
139
|
+
test_files: []
|
140
|
+
|
data/MIT-LICENSE
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
|
2
|
-
Copyright (c) 2009 Novell Inc.
|
3
|
-
|
4
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
a copy of this software and associated documentation files (the
|
6
|
-
"Software"), to deal in the Software without restriction, including
|
7
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be
|
13
|
-
included in all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
|
data/Manifest.txt
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
CHANGELOG.rdoc
|
2
|
-
MIT-LICENSE
|
3
|
-
Manifest.txt
|
4
|
-
README.rdoc
|
5
|
-
Rakefile
|
6
|
-
TODO.rdoc
|
7
|
-
ext/sfcc/cim_class.c
|
8
|
-
ext/sfcc/cim_class.h
|
9
|
-
ext/sfcc/cim_client.c
|
10
|
-
ext/sfcc/cim_client.h
|
11
|
-
ext/sfcc/cim_enumeration.c
|
12
|
-
ext/sfcc/cim_enumeration.h
|
13
|
-
ext/sfcc/cim_instance.c
|
14
|
-
ext/sfcc/cim_instance.h
|
15
|
-
ext/sfcc/cim_object_path.c
|
16
|
-
ext/sfcc/cim_object_path.h
|
17
|
-
ext/sfcc/cim_string.c
|
18
|
-
ext/sfcc/cim_string.h
|
19
|
-
ext/sfcc/extconf.rb
|
20
|
-
ext/sfcc/sfcc.c
|
21
|
-
ext/sfcc/sfcc.h
|
22
|
-
lib/sfcc.rb
|
23
|
-
test/helper.rb
|
24
|
-
test/test_sfcc.rb
|
25
|
-
test/test_sfcc_cim_class.rb
|
26
|
-
test/test_sfcc_cim_client.rb
|
27
|
-
test/test_sfcc_cim_instance.rb
|
28
|
-
test/test_sfcc_cim_object_path.rb
|
data/Rakefile
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
$: << File.join(File.dirname(__FILE__), "test")
|
2
|
-
require 'rubygems'
|
3
|
-
gem 'hoe', '>= 2.1.0'
|
4
|
-
require 'hoe'
|
5
|
-
|
6
|
-
task :default => [:compile, :docs, :test]
|
7
|
-
|
8
|
-
Hoe.plugin :yard
|
9
|
-
|
10
|
-
HOE = Hoe.spec 'sfcc' do
|
11
|
-
developer('Duncan Mac-Vicar P.', 'dmacvicar@suse.de')
|
12
|
-
self.summary = "WBEM client for ruby based on the sblim-sfcc library"
|
13
|
-
self.description = "ruby-sfcc allows to access a CIMOM either with the WBEM protocol or by using the SfcbLocal interface provided by the sblim-sfcb CIMOM implementation from the sblim project."
|
14
|
-
self.readme_file = ['README', ENV['HLANG'], 'rdoc'].compact.join('.')
|
15
|
-
self.history_file = ['CHANGELOG', ENV['HLANG'], 'rdoc'].compact.join('.')
|
16
|
-
self.extra_rdoc_files = FileList['*.rdoc']
|
17
|
-
self.clean_globs = [
|
18
|
-
'lib/sfcc/*.{o,so,bundle,a,log,dll}',
|
19
|
-
]
|
20
|
-
|
21
|
-
%w{ rake-compiler }.each do |dep|
|
22
|
-
self.extra_dev_deps << [dep, '>= 0']
|
23
|
-
end
|
24
|
-
self.extra_deps << ['shoulda', '>= 0']
|
25
|
-
self.extra_deps << ['yard', '>= 0']
|
26
|
-
self.spec_extras = { :extensions => ["ext/sfcc/extconf.rb"] }
|
27
|
-
end
|
28
|
-
|
29
|
-
|
30
|
-
gem 'rake-compiler', '>= 0.4.1'
|
31
|
-
require 'rake/extensiontask'
|
32
|
-
Rake::ExtensionTask.new('sfcc')
|
data/TODO.rdoc
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
|
2
|
-
== General:
|
3
|
-
|
4
|
-
* add convencience [] operator to Class and Instance to set and
|
5
|
-
retrieve properties
|
6
|
-
|
7
|
-
== Missing relevant APIs
|
8
|
-
|
9
|
-
Other APIs may be missing, but they may not be relevant in a ruby
|
10
|
-
style API.
|
11
|
-
|
12
|
-
=== CIMCClass
|
13
|
-
|
14
|
-
Only available in the v2 API (we use v1):
|
15
|
-
|
16
|
-
* getSuperClassName
|
17
|
-
* getKeyList
|
18
|
-
* toString
|
19
|
-
* relocate
|
20
|
-
* getCharClassName
|
21
|
-
* getCharSuperClassName
|
22
|
-
* isAssociation
|
23
|
-
* isAbstract
|
24
|
-
* isIndication
|
25
|
-
* getPropQualAt
|
26
|
-
|
27
|
-
|
28
|
-
|
data/test/helper.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'test/unit'
|
3
|
-
require 'shoulda'
|
4
|
-
require 'tempfile'
|
5
|
-
|
6
|
-
%w(../lib ../ext).each do |path|
|
7
|
-
$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), path)))
|
8
|
-
end
|
9
|
-
|
10
|
-
require 'rubygems'
|
11
|
-
require 'sfcc'
|
12
|
-
|
13
|
-
class SfccTestCase < Test::Unit::TestCase
|
14
|
-
ASSETS = File.expand_path(File.join(File.dirname(__FILE__), 'assets'))
|
15
|
-
|
16
|
-
unless RUBY_VERSION >= '1.9'
|
17
|
-
undef :default_test
|
18
|
-
end
|
19
|
-
|
20
|
-
def cimom_running?
|
21
|
-
`ps -e`.each_line do |line|
|
22
|
-
return true if line =~ /sfcbd/
|
23
|
-
end
|
24
|
-
return false
|
25
|
-
end
|
26
|
-
|
27
|
-
def setup_cim_client
|
28
|
-
@client = Sfcc::Cim::Client.connect('http://root@localhost:5988')
|
29
|
-
# @client = Sfcc::Cim::Client.connect(:host => 'localhost', :scheme => 'http', :user => 'root', :port => '5988')
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
data/test/test_sfcc.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), 'helper')
|
2
|
-
require 'pp'
|
3
|
-
|
4
|
-
class BasicTest < SfccTestCase
|
5
|
-
|
6
|
-
context "a running CIMOM with no auth" do
|
7
|
-
setup do
|
8
|
-
setup_cim_client
|
9
|
-
end
|
10
|
-
|
11
|
-
should "be running" do
|
12
|
-
assert cimom_running?
|
13
|
-
end
|
14
|
-
|
15
|
-
should "be of class Client" do
|
16
|
-
assert_kind_of(Sfcc::Cim::Client, @client)
|
17
|
-
end
|
18
|
-
|
19
|
-
context "a new object path for root/cimv2" do
|
20
|
-
setup do
|
21
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
22
|
-
end
|
23
|
-
|
24
|
-
should "be of class ObjectPath" do
|
25
|
-
assert_kind_of(Sfcc::Cim::ObjectPath, @op)
|
26
|
-
end
|
27
|
-
|
28
|
-
should "allow for query" do
|
29
|
-
result = @client.query(@op, "select * from CIM_ComputerSystem", "wql")
|
30
|
-
result.each do |instance|
|
31
|
-
puts instance
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
context "class names" do
|
36
|
-
setup do
|
37
|
-
@class_names = @client.class_names(@op, Sfcc::Flags::DeepInheritance)
|
38
|
-
end
|
39
|
-
|
40
|
-
should "be a Cimc::Enumeration" do
|
41
|
-
assert_kind_of(Sfcc::Cim::Enumeration, @class_names)
|
42
|
-
end
|
43
|
-
|
44
|
-
should "include CIM_ManagedElement" do
|
45
|
-
assert !@class_names.select { |x| x.to_s == "CIM_ManagedElement" }.empty?
|
46
|
-
end
|
47
|
-
|
48
|
-
should "have every element of type Sfcc::Cim::ObjectPath" do
|
49
|
-
@class_names.each { |n| assert_kind_of(Sfcc::Cim::ObjectPath, n) }
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
context "classes" do
|
54
|
-
setup do
|
55
|
-
@classes = @client.classes(@op, Sfcc::Flags::DeepInheritance)
|
56
|
-
end
|
57
|
-
|
58
|
-
should "be a Cimc::Enumeration" do
|
59
|
-
assert_kind_of(Sfcc::Cim::Enumeration, @classes)
|
60
|
-
end
|
61
|
-
|
62
|
-
should "have every alement of type Cimc::Class" do
|
63
|
-
@classes.each { |c| assert_kind_of(Sfcc::Cim::Class, c) }
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
data/test/test_sfcc_cim_class.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), 'helper')
|
2
|
-
require 'pp'
|
3
|
-
|
4
|
-
class SfccCimcClass < SfccTestCase
|
5
|
-
|
6
|
-
context "a CIM environment and client" do
|
7
|
-
setup do
|
8
|
-
setup_cim_client
|
9
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "CIM_ComputerSystem")
|
10
|
-
@cimclass = @client.get_class(op)
|
11
|
-
end
|
12
|
-
|
13
|
-
should "be running" do
|
14
|
-
assert cimom_running?
|
15
|
-
end
|
16
|
-
|
17
|
-
should "be able to enumerate properties" do
|
18
|
-
@cimclass.each_property do |k, v|
|
19
|
-
assert_not_nil(k)
|
20
|
-
end
|
21
|
-
|
22
|
-
properties = @cimclass.properties
|
23
|
-
assert !properties.empty?
|
24
|
-
assert_equal properties.size, @cimclass.property_count
|
25
|
-
pp properties
|
26
|
-
end
|
27
|
-
|
28
|
-
should "be able to enumerate qualifiers" do
|
29
|
-
@cimclass.each_qualifier do |k, v|
|
30
|
-
assert_not_nil(k)
|
31
|
-
end
|
32
|
-
|
33
|
-
qualifiers = @cimclass.qualifiers
|
34
|
-
assert qualifiers.empty?
|
35
|
-
assert_equal qualifiers.size, @cimclass.qualifier_count
|
36
|
-
pp qualifiers
|
37
|
-
end
|
38
|
-
|
39
|
-
should "be able to enumerate qualifiers for a property" do
|
40
|
-
@cimclass.each_property_qualifier("Status") do |k, v|
|
41
|
-
assert_not_nil(k)
|
42
|
-
end
|
43
|
-
|
44
|
-
qualifiers = @cimclass.property_qualifiers("Status")
|
45
|
-
assert qualifiers.empty?
|
46
|
-
assert_equal qualifiers.size, @cimclass.qualifier_count
|
47
|
-
pp qualifiers
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
|
@@ -1,164 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), 'helper')
|
2
|
-
require 'pp'
|
3
|
-
|
4
|
-
class SfccCimcClient < SfccTestCase
|
5
|
-
|
6
|
-
context "a running CIMOM with no auth" do
|
7
|
-
|
8
|
-
setup do
|
9
|
-
setup_cim_client
|
10
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
11
|
-
end
|
12
|
-
|
13
|
-
should "be running" do
|
14
|
-
assert cimom_running?
|
15
|
-
end
|
16
|
-
|
17
|
-
should "be of class Client" do
|
18
|
-
assert_kind_of(Sfcc::Cim::Client, @client)
|
19
|
-
end
|
20
|
-
|
21
|
-
should "allow for query" do
|
22
|
-
result = @client.query(@op, "select * from CIM_OperatingSystem", "wql")
|
23
|
-
result.each do |instance|
|
24
|
-
puts "query result: #{instance}"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
should "be able to get set properties using an object path" do
|
29
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
30
|
-
# @client.instance_names(@op).each do |path|
|
31
|
-
@client.query(@op, "select * from Linux_OperatingSystem", "wql").each do |instance|
|
32
|
-
# assert ! @client.property(instance.object_path, "PrimaryOwnerContact").empty?
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
should "be able to get a class from the object path" do
|
37
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
38
|
-
cimclass = @client.get_class(@op)
|
39
|
-
assert_kind_of Sfcc::Cim::Class, cimclass
|
40
|
-
end
|
41
|
-
|
42
|
-
should "report error when getting invalid class" do
|
43
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "NotExistingClass")
|
44
|
-
assert_raise Sfcc::Cim::ErrorNotFound do
|
45
|
-
cimclass = @client.get_class(@op)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
should "be able to get an instance from the object path" do
|
50
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
51
|
-
instance = @client.query(@op, "select * from Linux_OperatingSystem", "wql").to_a.first
|
52
|
-
instance2 = @client.get_instance(instance.object_path)
|
53
|
-
assert_kind_of Sfcc::Cim::Instance, instance2
|
54
|
-
end
|
55
|
-
|
56
|
-
should "be able to create an instance" do
|
57
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
58
|
-
instance = Sfcc::Cim::Instance.new(op)
|
59
|
-
assert_raise Sfcc::Cim::ErrorNotSupported do
|
60
|
-
new_op = @client.create_instance(op, instance)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
should "be able to set an instance" do
|
65
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
66
|
-
instance = @client.query(@op, "select * from Linux_OperatingSystem", "wql").to_a.first
|
67
|
-
assert_raise Sfcc::Cim::ErrorNotSupported do
|
68
|
-
instance = @client.set_instance(instance.object_path, instance)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
should "be able to delete an instance" do
|
73
|
-
instance = @client.query(@op, "select * from Linux_OperatingSystem", "wql").to_a.first
|
74
|
-
assert_raise Sfcc::Cim::ErrorNotSupported do
|
75
|
-
@client.delete_instance(instance.object_path)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
should "be able to get associator for an instance" do
|
80
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
81
|
-
op = @client.query(op, "select * from CIM_ComputerSystem", "wql").to_a.first.object_path
|
82
|
-
associators = @client.associators(op, 'CIM_RunningOS').to_a
|
83
|
-
assert !associators.empty?
|
84
|
-
associators.each { |assoc| assert_kind_of Sfcc::Cim::Instance, assoc }
|
85
|
-
pp associators
|
86
|
-
end
|
87
|
-
|
88
|
-
should "be able to get associator names for an instance" do
|
89
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
90
|
-
op = @client.query(op, "select * from CIM_ComputerSystem", "wql").to_a.first.object_path
|
91
|
-
associators = @client.associator_names(op, 'CIM_RunningOS').to_a
|
92
|
-
assert !associators.empty?
|
93
|
-
associators.each { |assoc| assert_kind_of Sfcc::Cim::ObjectPath, assoc }
|
94
|
-
pp associators
|
95
|
-
end
|
96
|
-
|
97
|
-
should "be able to get references for an instance" do
|
98
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
99
|
-
op = @client.query(op, "select * from CIM_OperatingSystem", "wql").to_a.first.object_path
|
100
|
-
associators = @client.references(op, 'CIM_RunningOS').to_a
|
101
|
-
assert !associators.empty?
|
102
|
-
associators.each { |assoc| assert_kind_of Sfcc::Cim::Instance, assoc }
|
103
|
-
pp associators
|
104
|
-
end
|
105
|
-
|
106
|
-
should "be able to get reference names for an instance" do
|
107
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
108
|
-
op = @client.query(op, "select * from CIM_OperatingSystem", "wql").to_a.first.object_path
|
109
|
-
associators = @client.reference_names(op, 'CIM_RunningOS').to_a
|
110
|
-
assert !associators.empty?
|
111
|
-
associators.each { |assoc| assert_kind_of Sfcc::Cim::ObjectPath, assoc }
|
112
|
-
pp associators
|
113
|
-
end
|
114
|
-
|
115
|
-
should "be able to invoke methods using an object path" do
|
116
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
117
|
-
@client.query(@op, "select * from Linux_OperatingSystem", "wql").each do |instance|
|
118
|
-
# @client.instances(@op, Sfcc::Flags::IncludeClassOrigin | Sfcc::Flags::IncludeQualifiers, nil).each do |instance|
|
119
|
-
path = instance.object_path
|
120
|
-
assert_kind_of Sfcc::Cim::ObjectPath, path
|
121
|
-
out = {}
|
122
|
-
ret = @client.invoke_method(path, :execCmd, {:cmd => "cat /etc/SuSE-release"}, out)
|
123
|
-
assert out.has_key?(:out), "output parameter is present"
|
124
|
-
assert out[:out].match(/VERSION/)
|
125
|
-
assert_equal 0, ret, "execCmd returns 0"
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
context "class names" do
|
130
|
-
setup do
|
131
|
-
@class_names = @client.class_names(@op, Sfcc::Flags::DeepInheritance)
|
132
|
-
end
|
133
|
-
|
134
|
-
should "be a Cimc::Enumeration" do
|
135
|
-
assert_kind_of(Sfcc::Cim::Enumeration, @class_names)
|
136
|
-
end
|
137
|
-
|
138
|
-
should "include CIM_ManagedElement" do
|
139
|
-
assert !@class_names.select { |x| x.to_s == "CIM_ManagedElement" }.empty?
|
140
|
-
end
|
141
|
-
|
142
|
-
should "have every element of type Sfcc::Cim::ObjectPath" do
|
143
|
-
@class_names.each { |n| assert_kind_of(Sfcc::Cim::ObjectPath, n) }
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
context "classes" do
|
148
|
-
setup do
|
149
|
-
@classes = @client.classes(@op, Sfcc::Flags::DeepInheritance)
|
150
|
-
end
|
151
|
-
|
152
|
-
should "be a Cimc::Enumeration" do
|
153
|
-
assert_kind_of(Sfcc::Cim::Enumeration, @classes)
|
154
|
-
end
|
155
|
-
|
156
|
-
should "have every alement of type Cimc::Class" do
|
157
|
-
@classes.each { |c| assert_kind_of(Sfcc::Cim::Class, c) }
|
158
|
-
end
|
159
|
-
end
|
160
|
-
|
161
|
-
end
|
162
|
-
|
163
|
-
end
|
164
|
-
|
@@ -1,24 +0,0 @@
|
|
1
|
-
|
2
|
-
require File.join(File.dirname(__FILE__), 'helper')
|
3
|
-
require 'pp'
|
4
|
-
|
5
|
-
class SfccCimEnumerationTest < SfccTestCase
|
6
|
-
|
7
|
-
context "enumeration of instances" do
|
8
|
-
setup do
|
9
|
-
setup_cim_client
|
10
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
11
|
-
@enm = @client.query(op, "select * from CIM_ComputerSystem", "wql")
|
12
|
-
end
|
13
|
-
|
14
|
-
should "be running" do
|
15
|
-
assert cimom_running?
|
16
|
-
end
|
17
|
-
|
18
|
-
should "be able to iterate twice" do
|
19
|
-
assert !@enm.to_a.empty?
|
20
|
-
assert !@enm.to_a.empty?
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
@@ -1,89 +0,0 @@
|
|
1
|
-
|
2
|
-
require File.join(File.dirname(__FILE__), 'helper')
|
3
|
-
require 'pp'
|
4
|
-
|
5
|
-
class SfccCimInstanceTest < SfccTestCase
|
6
|
-
|
7
|
-
context "object path for CIM_ComputerSystem and running CIMOM with no auth" do
|
8
|
-
setup do
|
9
|
-
setup_cim_client
|
10
|
-
@op_computer_system = Sfcc::Cim::ObjectPath.new("root/cimv2", "CIM_ComputerSystem")
|
11
|
-
end
|
12
|
-
|
13
|
-
should "be running" do
|
14
|
-
assert cimom_running?
|
15
|
-
end
|
16
|
-
|
17
|
-
should "be able to create an instance" do
|
18
|
-
instance = Sfcc::Cim::Instance.new(@op_computer_system)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
context "an instance of CIM_ComputerSystem" do
|
23
|
-
setup do
|
24
|
-
setup_cim_client
|
25
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
26
|
-
@instance = @client.query(op, "select * from CIM_ComputerSystem", "wql").to_a.first
|
27
|
-
end
|
28
|
-
|
29
|
-
should "be running" do
|
30
|
-
assert cimom_running?
|
31
|
-
end
|
32
|
-
|
33
|
-
should "respond to property Name" do
|
34
|
-
assert_kind_of(String, @instance.property('Name'))
|
35
|
-
end
|
36
|
-
|
37
|
-
should "be able to iterate over properties" do
|
38
|
-
@instance.each_property do |name, value|
|
39
|
-
puts "#{name} -> #{value}"
|
40
|
-
puts "---"
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
should "be able to set and retrieve stringproperties" do
|
45
|
-
assert_raises Sfcc::Cim::ErrorNoSuchProperty do
|
46
|
-
@instance.property("foobar");
|
47
|
-
end
|
48
|
-
assert_nothing_raised do
|
49
|
-
@instance.set_property("Name", "newname");
|
50
|
-
end
|
51
|
-
assert_equal "newname", @instance.property("Name")
|
52
|
-
end
|
53
|
-
|
54
|
-
should "be able to set and retrieve stringproperties" do
|
55
|
-
assert_raises Sfcc::Cim::ErrorNoSuchProperty do
|
56
|
-
@instance.property("foobar");
|
57
|
-
end
|
58
|
-
assert_nothing_raised do
|
59
|
-
@instance.set_property("Name", "newname");
|
60
|
-
end
|
61
|
-
assert_equal "newname", @instance.property("Name")
|
62
|
-
end
|
63
|
-
|
64
|
-
should "be able to enumerate qualifiers" do
|
65
|
-
@instance.each_qualifier do |k, v|
|
66
|
-
assert_not_nil(k)
|
67
|
-
end
|
68
|
-
|
69
|
-
qualifiers = @instance.qualifiers
|
70
|
-
assert qualifiers.empty?
|
71
|
-
assert_equal qualifiers.size, @instance.qualifier_count
|
72
|
-
pp qualifiers
|
73
|
-
end
|
74
|
-
|
75
|
-
should "be able to enumerate qualifiers for a property" do
|
76
|
-
@instance.each_property_qualifier("Status") do |k, v|
|
77
|
-
assert_not_nil(k)
|
78
|
-
end
|
79
|
-
|
80
|
-
qualifiers = @instance.property_qualifiers("Status")
|
81
|
-
assert qualifiers.empty?
|
82
|
-
assert_equal qualifiers.size, @instance.qualifier_count
|
83
|
-
pp qualifiers
|
84
|
-
end
|
85
|
-
|
86
|
-
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
@@ -1,85 +0,0 @@
|
|
1
|
-
|
2
|
-
require File.join(File.dirname(__FILE__), 'helper')
|
3
|
-
require 'pp'
|
4
|
-
|
5
|
-
class SfccCimcObjectPathTest < SfccTestCase
|
6
|
-
|
7
|
-
context "a new object path for an instance of root/cimv2:Linux_OperatingSystem" do
|
8
|
-
setup do
|
9
|
-
setup_cim_client
|
10
|
-
@op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
|
11
|
-
@op = @client.query(@op, "select * from Linux_OperatingSystem", "wql").first.object_path
|
12
|
-
end
|
13
|
-
|
14
|
-
should "be running" do
|
15
|
-
assert cimom_running?
|
16
|
-
end
|
17
|
-
|
18
|
-
should "have root/cimv2 as namespace" do
|
19
|
-
assert_equal "root/cimv2", @op.namespace
|
20
|
-
end
|
21
|
-
|
22
|
-
should "change its namespace after setting it" do
|
23
|
-
@op.namespace = "root/cimv3"
|
24
|
-
assert_equal "root/cimv3", @op.namespace
|
25
|
-
end
|
26
|
-
|
27
|
-
should "not have namespace at the beginning" do
|
28
|
-
assert_raise Sfcc::Cim::ErrorNotSupported do
|
29
|
-
@op.hostname
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
should "change its hostname after setting it" do
|
34
|
-
assert_raise Sfcc::Cim::ErrorNotSupported do
|
35
|
-
@op.hostname = "foo.bar.com"
|
36
|
-
end
|
37
|
-
assert_raise Sfcc::Cim::ErrorNotSupported do
|
38
|
-
assert_equal "foo.bar.com", @op.hostname
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
should "respond to class_name" do
|
43
|
-
assert_equal "Linux_OperatingSystem", @op.class_name
|
44
|
-
end
|
45
|
-
|
46
|
-
should "change its class name after setting it" do
|
47
|
-
@op.class_name = "BarClass"
|
48
|
-
assert_equal "BarClass", @op.class_name
|
49
|
-
end
|
50
|
-
|
51
|
-
should "respond to keys and set them" do
|
52
|
-
assert_raise Sfcc::Cim::ErrorNoSuchProperty do
|
53
|
-
@op.key("foo")
|
54
|
-
end
|
55
|
-
assert_equal 4, @op.key_count
|
56
|
-
|
57
|
-
assert_nothing_raised do
|
58
|
-
@op.add_key("prop0", "hello")
|
59
|
-
@op.add_key("prop1", true)
|
60
|
-
@op.add_key("prop2", false)
|
61
|
-
end
|
62
|
-
assert_equal 7, @op.key_count
|
63
|
-
|
64
|
-
assert_equal "hello", @op.key("prop0")
|
65
|
-
assert_equal true, @op.key("prop1")
|
66
|
-
assert_equal false, @op.key("prop2")
|
67
|
-
end
|
68
|
-
|
69
|
-
should "be able to set namespace and classname from other object path" do
|
70
|
-
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
71
|
-
op2 = Sfcc::Cim::ObjectPath.new("root/cimv3", "FooBar")
|
72
|
-
assert_equal "Linux_OperatingSystem", op.class_name
|
73
|
-
op.set_namespace_from(op2)
|
74
|
-
assert_equal "FooBar", op2.class_name
|
75
|
-
assert_equal "root/cimv3", op2.namespace
|
76
|
-
end
|
77
|
-
|
78
|
-
should "be able to retrieve qualifiers" do
|
79
|
-
# CRASH? CIMOM?
|
80
|
-
#op = Sfcc::Cim::ObjectPath.new("root/cimv2", "Linux_OperatingSystem")
|
81
|
-
# assert_equal "2.17.1", @op.class_qualifier("Version")
|
82
|
-
#assert_equal "Number", op.property_qualifier("NumberOfUsers", "Description")
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|