sfcc 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|