luna_scanner 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,77 @@
1
+ require File.expand_path("../test_helper", __FILE__)
2
+
3
+ describe LunaScanner::Device do
4
+ it "must have load_from_file method" do
5
+ LunaScanner::Device.must_respond_to(:load_from_file)
6
+ end
7
+
8
+ it "must be initialized with given attributes" do
9
+ device = LunaScanner::Device.new(:ip => "192.168.1.22", :sn => "00001234", :model => "T-7202D", :version => "20131212.121212")
10
+ device.ip.must_equal("192.168.1.22")
11
+ device.sn.must_equal("00001234")
12
+ device.model.must_equal("T-7202D")
13
+ device.version.must_equal("20131212.121212")
14
+ end
15
+
16
+ it "must be format when display" do
17
+ device1 = LunaScanner::Device.new(:ip => "192.168.1.22", :sn => "00001234", :model => "T-7202D", :version => "20131212.121212")
18
+ device2 = LunaScanner::Device.new(:ip => "192.168.1.1", :sn => "00001234", :model => "T-7202D", :version => "20131212.121212")
19
+ device3 = LunaScanner::Device.new(:ip => "192.168.111.111", :sn => "00001234", :model => "T-7202D", :version => "20131212.121212")
20
+ device4 = LunaScanner::Device.new(:ip => "192.168.111.2", :sn => "00001234", :model => "T-7202", :version => "20131212.121212")
21
+ device5 = LunaScanner::Device.new(:ip => "192.168.10.2", :sn => "00001234", :model => "T-720", :version => "20131212.121212")
22
+ device6 = LunaScanner::Device.new(:ip => "192.168.10.21", :sn => "00001234", :model => "T-72011D", :version => "20131212.121212")
23
+
24
+ ########################## "----SN---------IP------------MODEL------VERSION--------"
25
+ device1.display.must_equal(" 00001234 192.168.1.22 T-7202D 20131212.121212")
26
+ device2.display.must_equal(" 00001234 192.168.1.1 T-7202D 20131212.121212")
27
+ device3.display.must_equal(" 00001234 192.168.111.111 T-7202D 20131212.121212")
28
+ device4.display.must_equal(" 00001234 192.168.111.2 T-7202 20131212.121212")
29
+ device5.display.must_equal(" 00001234 192.168.10.2 T-720 20131212.121212")
30
+ device6.display.must_equal(" 00001234 192.168.10.21 T-72011D 20131212.121212")
31
+
32
+ end
33
+
34
+ it "should generate new ip from sn" do
35
+ device1 = LunaScanner::Device.new(:ip => "192.168.1.22", :sn => "00000034", :model => "T-7202D", :version => "20131212.121212")
36
+ device1.ip_from_sn.must_equal("8.128.2.34")
37
+
38
+ device2 = LunaScanner::Device.new(:ip => "192.168.1.22", :sn => "00000250", :model => "T-7202D", :version => "20131212.121212")
39
+ device2.ip_from_sn.must_equal("8.128.3.0")
40
+
41
+ device2 = LunaScanner::Device.new(:ip => "192.168.1.22", :sn => "00000251", :model => "T-7202D", :version => "20131212.121212")
42
+ device2.ip_from_sn.must_equal("8.128.3.1")
43
+ end
44
+
45
+ it "should generate ip file" do
46
+ device1 = LunaScanner::Device.new(:ip => "192.168.1.22", "00000034", "T-7202D", :version => "20131212.121212")
47
+ device1.new_ip.must_equal("# and how to activate them. For more information, see interfaces(5).
48
+
49
+ # The loopback network interface
50
+ auto lo
51
+ iface lo inet loopback
52
+
53
+ #enable this if you are using 100Mbps
54
+ auto eth0
55
+ allow-hotplug eth0
56
+ iface eth0 inet static
57
+ address 0.0.0.0
58
+
59
+ auto eth1
60
+ allow-hotplug eth1
61
+ iface eth1 inet static
62
+ address 8.128.2.34
63
+ netmask 255.255.252.0
64
+ gateway 8.128.3.254
65
+ ")
66
+
67
+ device2 = LunaScanner::Device.new(:ip => "192.168.1.22", :sn => "00000034", :model => "T-7202D", :version => "20131212.121212")
68
+ `echo '#{device2.new_ip}' > /tmp/interfaces0`
69
+ end
70
+
71
+ it "should write ip config file" do
72
+ device1 = LunaScanner::Device.new(:ip => "192.168.1.22", :sn => "00000034", :model => "T-7202D", :version => "20131212.121212")
73
+ device1.write_ip_to_config
74
+ File.exist?("/tmp/interfaces").must_equal true
75
+ end
76
+
77
+ end
@@ -0,0 +1,14 @@
1
+ require 'socket'
2
+
3
+ def local_ip
4
+ orig = Socket.do_not_reverse_lookup
5
+ Socket.do_not_reverse_lookup =true # turn off reverse DNS resolution temporarily
6
+ UDPSocket.open do |s|
7
+ s.connect '64.233.187.99', 1 #google
8
+ s.addr.last
9
+ end
10
+ ensure
11
+ Socket.do_not_reverse_lookup = orig
12
+ end
13
+
14
+ puts local_ip
@@ -0,0 +1,16 @@
1
+ require File.expand_path("../test_helper", __FILE__)
2
+
3
+ describe LunaScanner::Logger do
4
+ it "must have info method" do
5
+ LunaScanner::Logger.must_respond_to(:info)
6
+ end
7
+
8
+ it "must have success method" do
9
+ LunaScanner::Logger.must_respond_to(:success)
10
+ end
11
+
12
+ it "must have error method" do
13
+ LunaScanner::Logger.must_respond_to(:error)
14
+ end
15
+
16
+ end
@@ -0,0 +1,21 @@
1
+ require File.expand_path("../test_helper", __FILE__)
2
+
3
+ describe LunaScanner do
4
+
5
+ it "root must be defined" do
6
+ LunaScanner.root.wont_be_nil
7
+ end
8
+
9
+ it "pwd must be defined" do
10
+ LunaScanner.pwd.wont_be_nil
11
+ end
12
+
13
+ it "local_ip must be defined" do
14
+ LunaScanner.local_ip.wont_be_nil
15
+ end
16
+
17
+ it "version must be defined" do
18
+ LunaScanner::VERSION.wont_be_nil
19
+ end
20
+
21
+ end
@@ -0,0 +1,11 @@
1
+ ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
2
+ require 'bundler'
3
+ Bundler.setup
4
+ Bundler.require :default, :test
5
+
6
+ require 'minitest/autorun'
7
+
8
+
9
+ lib = File.expand_path('../../lib', __FILE__)
10
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
11
+ require "luna_scanner.rb"
@@ -0,0 +1,2 @@
1
+ require File.expand_path("../test_helper", __FILE__)
2
+ LunaScanner::Web.run!
metadata ADDED
@@ -0,0 +1,147 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: luna_scanner
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - qichunren
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: net-ssh
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 2.7.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 2.7.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: net-scp
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: sinatra
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 1.4.4
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.4.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Discover luna-client devices in LAN
84
+ email:
85
+ - whyruby@gmail.com
86
+ executables:
87
+ - luna_scanner
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - .gitignore
92
+ - Changelog.txt
93
+ - Gemfile
94
+ - INSTALL
95
+ - LICENSE.txt
96
+ - README.md
97
+ - Rakefile
98
+ - bin/luna_scanner
99
+ - lib/luna_scanner.rb
100
+ - lib/luna_scanner/cli.rb
101
+ - lib/luna_scanner/device.rb
102
+ - lib/luna_scanner/logger.rb
103
+ - lib/luna_scanner/rcommand.rb
104
+ - lib/luna_scanner/scanner.rb
105
+ - lib/luna_scanner/update_firmware.sh
106
+ - lib/luna_scanner/util.rb
107
+ - lib/luna_scanner/version.rb
108
+ - lib/luna_scanner/web.rb
109
+ - luna_scanner.gemspec
110
+ - test/device_test.rb
111
+ - test/local_ip_test.rb
112
+ - test/logger_test.rb
113
+ - test/luna_scanner_test.rb
114
+ - test/test_helper.rb
115
+ - test/web_test.rb
116
+ homepage: https://github.com/qichunren/luna-scanner
117
+ licenses:
118
+ - MIT
119
+ metadata: {}
120
+ post_install_message:
121
+ rdoc_options: []
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ requirements: []
135
+ rubyforge_project:
136
+ rubygems_version: 2.0.3
137
+ signing_key:
138
+ specification_version: 4
139
+ summary: Discover luna-clinet devices in LAN, batch config them.
140
+ test_files:
141
+ - test/device_test.rb
142
+ - test/local_ip_test.rb
143
+ - test/logger_test.rb
144
+ - test/luna_scanner_test.rb
145
+ - test/test_helper.rb
146
+ - test/web_test.rb
147
+ has_rdoc: