inetmgr 0.4.0

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 (90) hide show
  1. data/README.rdoc +159 -0
  2. data/RELEASE-NOTES.rdoc +35 -0
  3. data/doc/Application.html +177 -0
  4. data/doc/ApplicationPool.html +177 -0
  5. data/doc/AutoStartProvider.html +177 -0
  6. data/doc/BindingInformation.html +349 -0
  7. data/doc/Configuration.html +283 -0
  8. data/doc/IisConfiguration.html +383 -0
  9. data/doc/IisObject.html +484 -0
  10. data/doc/IisObjectCollection.html +534 -0
  11. data/doc/Inetmgr.html +179 -0
  12. data/doc/Inetmgr/InetmgrTask.html +338 -0
  13. data/doc/Object.html +254 -0
  14. data/doc/PeriodicRestart.html +177 -0
  15. data/doc/ProcessModel.html +192 -0
  16. data/doc/README_rdoc.html +114 -0
  17. data/doc/RSpecExtensions.html +257 -0
  18. data/doc/Recycling.html +177 -0
  19. data/doc/Site.html +228 -0
  20. data/doc/SiteConfiguration.html +269 -0
  21. data/doc/SiteLimit.html +177 -0
  22. data/doc/VirtualDirectory.html +177 -0
  23. data/doc/images/brick.png +0 -0
  24. data/doc/images/brick_link.png +0 -0
  25. data/doc/images/bug.png +0 -0
  26. data/doc/images/bullet_black.png +0 -0
  27. data/doc/images/bullet_toggle_minus.png +0 -0
  28. data/doc/images/bullet_toggle_plus.png +0 -0
  29. data/doc/images/date.png +0 -0
  30. data/doc/images/find.png +0 -0
  31. data/doc/images/loadingAnimation.gif +0 -0
  32. data/doc/images/macFFBgHack.png +0 -0
  33. data/doc/images/package.png +0 -0
  34. data/doc/images/page_green.png +0 -0
  35. data/doc/images/page_white_text.png +0 -0
  36. data/doc/images/page_white_width.png +0 -0
  37. data/doc/images/plugin.png +0 -0
  38. data/doc/images/ruby.png +0 -0
  39. data/doc/images/tag_green.png +0 -0
  40. data/doc/images/wrench.png +0 -0
  41. data/doc/images/wrench_orange.png +0 -0
  42. data/doc/images/zoom.png +0 -0
  43. data/doc/index.html +166 -0
  44. data/doc/js/darkfish.js +116 -0
  45. data/doc/js/jquery.js +32 -0
  46. data/doc/js/quicksearch.js +114 -0
  47. data/doc/js/thickbox-compressed.js +10 -0
  48. data/doc/rdoc.css +706 -0
  49. data/inetmgr.gemspec +21 -0
  50. data/lib/inetmgr.rb +30 -0
  51. data/lib/inetmgr/configuration.rb +23 -0
  52. data/lib/inetmgr/iis_configuration.rb +36 -0
  53. data/lib/inetmgr/iis_object.rb +85 -0
  54. data/lib/inetmgr/iis_object/application.rb +11 -0
  55. data/lib/inetmgr/iis_object/application_pool.rb +19 -0
  56. data/lib/inetmgr/iis_object/auto_start_provider.rb +3 -0
  57. data/lib/inetmgr/iis_object/binding_information.rb +26 -0
  58. data/lib/inetmgr/iis_object/periodic_restart.rb +3 -0
  59. data/lib/inetmgr/iis_object/process_model.rb +18 -0
  60. data/lib/inetmgr/iis_object/recycling.rb +5 -0
  61. data/lib/inetmgr/iis_object/site.rb +24 -0
  62. data/lib/inetmgr/iis_object/site_limit.rb +7 -0
  63. data/lib/inetmgr/iis_object/virtual_directory.rb +5 -0
  64. data/lib/inetmgr/iis_object_collection.rb +51 -0
  65. data/lib/inetmgr/site_configuration.rb +34 -0
  66. data/lib/rake/inetmgrtask.rb +74 -0
  67. data/lib/string.rb +5 -0
  68. data/nbproject/private/config.properties +0 -0
  69. data/nbproject/private/private.properties +4 -0
  70. data/nbproject/private/private.xml +4 -0
  71. data/nbproject/private/rake-d.txt +2 -0
  72. data/nbproject/project.properties +10 -0
  73. data/nbproject/project.xml +16 -0
  74. data/spec/application_pool_spec.rb +120 -0
  75. data/spec/application_spec.rb +38 -0
  76. data/spec/auto_start_provider_spec.rb +25 -0
  77. data/spec/bingin_information_spec.rb +21 -0
  78. data/spec/iis_configuration_spec.rb +35 -0
  79. data/spec/site_app_settings_spec.rb +61 -0
  80. data/spec/site_configuration_spec.rb +24 -0
  81. data/spec/site_connection_strings_spec.rb +17 -0
  82. data/spec/site_spec.rb +34 -0
  83. data/spec/site_validation_settings_spec.rb +18 -0
  84. data/spec/spec_env.rb +22 -0
  85. data/spec/string_spec.rb +16 -0
  86. data/spec/virtual_directory_spec.rb +1 -0
  87. data/test/create_site.rb +26 -0
  88. data/test/print_iis_config.rb +56 -0
  89. data/test/rakefile.rb +27 -0
  90. metadata +156 -0
@@ -0,0 +1,5 @@
1
+ class String
2
+ def to_camel_case
3
+ self.gsub(/_(.)/) { $1.upcase }
4
+ end
5
+ end
File without changes
@@ -0,0 +1,4 @@
1
+ file.reference.inetmgr-lib=D:\\_git\\typesafe\\inetmgr\\lib
2
+ file.reference.inetmgr-spec=D:\\_git\\typesafe\\inetmgr\\spec
3
+ file.reference.inetmgr-test=D:\\_git\\typesafe\\inetmgr\\test
4
+ platform.active=Ruby
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project-private xmlns="http://www.netbeans.org/ns/project-private/1">
3
+ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
4
+ </project-private>
@@ -0,0 +1,2 @@
1
+ default=
2
+ show_all_settings=
@@ -0,0 +1,10 @@
1
+ file.reference.inetmgr-lib=lib
2
+ file.reference.inetmgr-spec=spec
3
+ file.reference.inetmgr-test=test
4
+ javac.classpath=
5
+ main.file=create_site.rb
6
+ platform.active=Ruby
7
+ source.encoding=UTF-8
8
+ src.dir=${file.reference.inetmgr-lib}
9
+ test.spec.dir=spec
10
+ test.src.dir=${file.reference.inetmgr-test}
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://www.netbeans.org/ns/project/1">
3
+ <type>org.netbeans.modules.ruby.rubyproject</type>
4
+ <configuration>
5
+ <data xmlns="http://www.netbeans.org/ns/ruby-project/1">
6
+ <name>inetmgr</name>
7
+ <source-roots>
8
+ <root id="src.dir"/>
9
+ </source-roots>
10
+ <test-roots>
11
+ <root id="test.spec.dir"/>
12
+ <root id="test.src.dir"/>
13
+ </test-roots>
14
+ </data>
15
+ </configuration>
16
+ </project>
@@ -0,0 +1,120 @@
1
+ require 'spec_env'
2
+
3
+ describe "When adding a new application pool" do
4
+
5
+ before(:all) do
6
+ @pools = IisConfiguration.new.get_application_pools
7
+ @before_count = @pools.size
8
+ @pool = @pools.add do |p|
9
+ p.name = "tralala"
10
+ end
11
+ end
12
+
13
+ it "it should be present in the application pool collection" do
14
+ @pools.size.should == @before_count + 1
15
+ end
16
+
17
+ it "the auto_start value should default to false" do
18
+ @pool.auto_start.should == false
19
+ end
20
+
21
+ # TODO: fix this -> it depends on the defaults in the config
22
+ it "the managed_runtime_version value should default to 'v2.0'" do
23
+ @pool.managed_runtime_version.should == "v2.0"
24
+ end
25
+
26
+ it "the classic_pipeline value should default to false" do
27
+ @pool.classic_pipeline.should == false
28
+ end
29
+
30
+ it "the enable_32bit value should default to false" do
31
+ @pool.enable_32bit.should == false
32
+ end
33
+
34
+ it "the always_running value should default to false" do
35
+ @pool.always_running.should == false
36
+ end
37
+ end
38
+
39
+ describe "When updating application pool" do
40
+
41
+ before(:all) do
42
+
43
+ @name = generate_random_name()
44
+
45
+ configure do |cfg|
46
+
47
+ pool = cfg.get_application_pools.add { |p| p.name = @name } # defaults
48
+
49
+ pool.auto_start = true
50
+ pool.managed_runtime_version = "v4.0"
51
+ pool.classic_pipeline = true
52
+ pool.enable_32bit = true
53
+ pool.always_running = true
54
+
55
+ end
56
+
57
+ configure do |cfg|
58
+ @pool = cfg.get_application_pools.find { |p| p.name == @name }
59
+ end
60
+
61
+ end
62
+
63
+ it "the name should be changed" do
64
+ @pool.name.should == @name
65
+ end
66
+
67
+ it "the auto_start value should be changed" do
68
+ @pool.auto_start.should == false
69
+ end
70
+
71
+ it "the managed_runtime_version value should be changed" do
72
+ @pool.managed_runtime_version.should == "v4.0"
73
+ end
74
+
75
+ it "the classic_pipeline value should be changed" do
76
+ @pool.classic_pipeline.should == true
77
+ end
78
+
79
+ it "the enable_32bit value should be changed" do
80
+ @pool.enable_32bit.should == true
81
+ end
82
+
83
+ it "the always_running value should be changed" do
84
+ puts @pool.startMode
85
+ @pool.always_running.should == true
86
+ end
87
+
88
+ end
89
+
90
+ describe "When updating an application pool's proces model" do
91
+
92
+ before(:all) do
93
+
94
+ @name = generate_random_name()
95
+
96
+ configure do |cfg|
97
+
98
+ pool = cfg.get_application_pools.add { |p| p.name = @name } # defaults
99
+
100
+ m = pool.process_model
101
+ m.logon_type = :service
102
+ m.identity_type = :network_service
103
+ end
104
+
105
+ configure do |cfg|
106
+ pool = cfg.get_application_pools.find { |p| p.name == @name }
107
+ @proces_model = pool.process_model
108
+ end
109
+
110
+ end
111
+
112
+ it "the logon type should be changed" do
113
+ @proces_model.logon_type.should == :service
114
+ end
115
+
116
+ it "the identity type should be changed" do
117
+ @proces_model.identity_type.should == :network_service
118
+ end
119
+
120
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_env'
2
+
3
+ describe "When adding an Application to a site" do
4
+
5
+ before(:all) do
6
+
7
+ configure do |cfg|
8
+ site = cfg.get_sites[0]
9
+ @app_name = "/#{generate_random_name}"
10
+ site.applications.add do|a|
11
+ a.path = @app_name
12
+ a.virtual_directories.add do |vd|
13
+ vd.path = @app_name
14
+ vd.physicalPath = "D:\\"
15
+ end
16
+ end
17
+ end
18
+
19
+ configure do |cfg|
20
+ @site = cfg.get_sites[0]
21
+ @app = @site.applications.find {|a| a.path == @app_name}
22
+ end
23
+ end
24
+
25
+ it "the app should be added" do
26
+ @app.should_not be_nil
27
+ end
28
+
29
+ it "the app should contain the associated virtual directory" do
30
+ @app.virtual_directories.size.should == 1
31
+ end
32
+
33
+ it "the virtual directory physical path should be set" do
34
+ @app.virtual_directories[0].physicalPath.should == "D:\\"
35
+ end
36
+
37
+ end
38
+
@@ -0,0 +1,25 @@
1
+ require 'spec_env'
2
+
3
+ describe "When adding an auto start provider" do
4
+
5
+ before(:all) do
6
+ configure do |cfg|
7
+ @name = generate_random_name
8
+ @type = generate_random_name
9
+ @provider = cfg.get_auto_start_providers.add { |p| p.name = @name; p.type = @type }
10
+ end
11
+ end
12
+
13
+ it "the provider should not be nil" do
14
+ @provider.should_not be_nil
15
+ end
16
+
17
+ it "the provider name should be set" do
18
+ @provider.name.should == @name
19
+ end
20
+
21
+ it "the provider type should be set" do
22
+ @provider.type.should == @type
23
+ end
24
+
25
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_env'
2
+
3
+ describe "When adding an SSL certificate" do
4
+
5
+ before(:all) do
6
+ configure false do |cfg|
7
+ @binding = cfg.get_sites[0].bindings[0]
8
+ @binding.add_ssl_certificate "e2564766bad7ebec8cf6899caa2a27c6391c4f19", "MY"
9
+ end
10
+ end
11
+
12
+ it "the cert hash should be set" do
13
+ @binding.certificateHash.downcase.should == "e2564766bad7ebec8cf6899caa2a27c6391c4f19"
14
+ end
15
+
16
+ it "the cert store name should be set" do
17
+ @binding.certificateStoreName.should == "MY"
18
+ end
19
+
20
+ end
21
+
@@ -0,0 +1,35 @@
1
+ require 'spec_env'
2
+
3
+ describe "When getting the configured application pools" do
4
+
5
+ before(:all) do
6
+ configure do |cfg|
7
+ @pools = cfg.get_application_pools
8
+ end
9
+ end
10
+
11
+ it "at least one item should be returned" do
12
+ @pools.size > 1
13
+ end
14
+
15
+ end
16
+
17
+ describe "When rolling back configuration changes" do
18
+
19
+ before(:all) do
20
+ configure false do |cfg|
21
+ cfg.get_application_pools.add do |p|
22
+ p.name = "foobar"
23
+ end
24
+ end
25
+ configure false do |cfg|
26
+ @non_existing_pool = cfg.get_application_pools.find { |p| p.name == "foobar" }
27
+ end
28
+ end
29
+
30
+ it "the changes should not be applied" do
31
+ @non_existing_pool.should be_nil
32
+ end
33
+
34
+ end
35
+
@@ -0,0 +1,61 @@
1
+ require './spec_env.rb'
2
+
3
+ describe "When getting a sites connection strings" do
4
+
5
+ before(:all) do
6
+ iis_cfg = IisConfiguration.new
7
+ site = iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
8
+ site.configure do |site_cfg|
9
+ @app_settings = site_cfg.get_connection_strings
10
+ end
11
+ end
12
+
13
+ it "the settings should be returned" do
14
+ @app_settings.size.should == 1
15
+ end
16
+
17
+ end
18
+
19
+ describe "When changing an app setting" do
20
+
21
+ before(:all) do
22
+ @iis_cfg = IisConfiguration.new
23
+ site = @iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
24
+ site.configure do |site_cfg|
25
+ @previous = site_cfg.get_app_settings[0].value
26
+ site_cfg.get_app_settings[0].value = "foo"
27
+ end
28
+ end
29
+
30
+ it "the settings should be persisted" do
31
+ site = @iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
32
+ site.configure do |site_cfg|
33
+ site_cfg.get_app_settings[0].value.should == "foo"
34
+ site_cfg.get_app_settings[0].value = @previous
35
+ end
36
+ end
37
+
38
+ end
39
+
40
+ describe "When adding an app setting" do
41
+
42
+ before(:all) do
43
+ @iis_cfg = IisConfiguration.new
44
+ site = @iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
45
+ site.configure do |site_cfg|
46
+ @previous = site_cfg.get_app_settings.size
47
+ site_cfg.get_app_settings.add do |setting|
48
+ setting.key = generate_random_name()
49
+ setting.value = "bar"
50
+ end
51
+ end
52
+ end
53
+
54
+ it "the settings should be persisted" do
55
+ site = @iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
56
+ site.configure do |site_cfg|
57
+ site_cfg.get_app_settings.size.should == (@previous + 1)
58
+ end
59
+ end
60
+
61
+ end
@@ -0,0 +1,24 @@
1
+ require './spec_env.rb'
2
+
3
+ describe "When getting a sites connection strings" do
4
+
5
+ before(:all) do
6
+ iis_cfg = IisConfiguration.new
7
+ site = iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
8
+ site.configure do |site_cfg|
9
+ @validation_settings = site_cfg.get_validation_settings
10
+ @static_content_settings = site_cfg.get_static_content_settings
11
+
12
+ end
13
+ end
14
+
15
+ it "the validation settings should be returned" do
16
+ @validation_settings.should_not == nil
17
+ end
18
+
19
+ it "the static content settings should be returned" do
20
+ @static_content_settings.should_not == nil
21
+ end
22
+
23
+
24
+ end
@@ -0,0 +1,17 @@
1
+ require './spec_env.rb'
2
+
3
+ describe "When getting a sites app settings" do
4
+
5
+ before(:all) do
6
+ iis_cfg = IisConfiguration.new
7
+ site = iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
8
+ site.configure do |site_cfg|
9
+ @connection_strings = site_cfg.get_connection_strings
10
+ end
11
+ end
12
+
13
+ it "the settings should be returned" do
14
+ @connection_strings.size.should == 1
15
+ end
16
+
17
+ end
@@ -0,0 +1,34 @@
1
+ require './spec_env.rb'
2
+
3
+ describe "When getting the configured sites" do
4
+
5
+ before(:all) do
6
+ configure do |cfg|
7
+ @sites = cfg.get_sites
8
+ end
9
+ end
10
+
11
+ it "at least one item should be returned" do
12
+ @sites.size.should > 1
13
+ end
14
+
15
+ end
16
+
17
+ describe "When adding a new site" do
18
+
19
+ before(:all) do
20
+ configure do |cfg|
21
+ @sites = cfg.get_sites
22
+ @site = @sites.add { |s| s.name = generate_random_name }
23
+ end
24
+ end
25
+
26
+ it "the site should be created" do
27
+ @site.should_not be_nil
28
+ end
29
+
30
+ it "the site should have the highest id" do
31
+ @site.id.should == @sites.size
32
+ end
33
+
34
+ end
@@ -0,0 +1,18 @@
1
+ require './spec_env.rb'
2
+
3
+ describe "When getting a sites connection strings" do
4
+
5
+ before(:all) do
6
+ iis_cfg = IisConfiguration.new
7
+ site = iis_cfg.get_sites.find { |s| s.name= 'thuis.jolena.be' }
8
+ site.configure do |site_cfg|
9
+ @validation_settings = site_cfg.get_validation_settings
10
+ end
11
+ end
12
+
13
+ it "the settings should be returned" do
14
+ puts @validation_settings.validate_integrated_mode_configuration
15
+ @validation_settings.validate_integrated_mode_configuration.should_not == nil
16
+ end
17
+
18
+ end