luna_scanner 0.0.3

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.
@@ -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: