ispusage 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -13,7 +13,7 @@ class IspUsage
13
13
  def fetch_usage
14
14
  xml = open("https://toolbox.iinet.net.au/cgi-bin/new/volume_usage_xml.cgi?action=login&username=#{@username}&password=#{@password}")
15
15
  doc = Nokogiri::XML(xml)
16
- used = doc.search("/ii_feed[1]/volume_usage[1]/expected_traffic_types[1]/type[1]/@used").text.to_i / 1048576
16
+ used = doc.search("/ii_feed[1]/volume_usage[1]/expected_traffic_types[1]/type[1]/@used").text.to_i / 998315 #best I can figure iinet uses base 2 and base 10 bytes
17
17
  quota = doc.search("/ii_feed[1]/volume_usage[1]/expected_traffic_types[1]/type[1]/quota_allocation[1]").text.to_i
18
18
  self.usage_periods << UsagePeriod.new(:used => used, :quota => quota)
19
19
  end
@@ -3,7 +3,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
3
3
  describe IspUsage::Fetchers::AUIinet do
4
4
  describe "single usage period" do
5
5
  before do
6
- fixture = File.read(File.dirname(__FILE__) + '/../fixtures/auiinet_single_account.xml')
6
+ fixture = File.read(File.dirname(__FILE__) + '/../fixtures/au_iinet/single_account.xml')
7
7
  FakeWeb.register_uri(:get, 'https://toolbox.iinet.net.au/cgi-bin/new/volume_usage_xml.cgi?action=login&username=user&password=password', :body => fixture)
8
8
  options = {:username => 'user', :password => 'password'}
9
9
  @usage = IspUsage::Fetchers::AUIinet.new(options)
@@ -11,7 +11,7 @@ describe IspUsage::Fetchers::AUIinet do
11
11
  end
12
12
 
13
13
  it "should return usage correctly" do
14
- @usage.usage_periods.first.used.should == 28613
14
+ @usage.usage_periods.first.used.should == 45106
15
15
  end
16
16
 
17
17
  it "should return quota correctly" do
@@ -3,9 +3,9 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
3
3
  describe IspUsage::Fetchers::AUInternode do
4
4
  describe "single usage period" do
5
5
  before do
6
- services = File.read(File.dirname(__FILE__) + '/../fixtures/auinternode_home.xml')
6
+ services = File.read(File.dirname(__FILE__) + '/../fixtures/au_internode/home.xml')
7
7
  FakeWeb.register_uri(:get, 'https://user:password@customer-webtools-api.internode.on.net/api/v1.5/', :body => services)
8
- service = File.read(File.dirname(__FILE__) + '/../fixtures/auinternode_home_usage.xml')
8
+ service = File.read(File.dirname(__FILE__) + '/../fixtures/au_internode/home_usage.xml')
9
9
  FakeWeb.register_uri(:get, 'https://user:password@customer-webtools-api.internode.on.net/api/v1.5/1234567/usage', :body => service)
10
10
 
11
11
 
@@ -21,5 +21,35 @@ describe IspUsage::Fetchers::AUInternode do
21
21
  it "should return quota correctly" do
22
22
  @usage.usage_periods.first.quota.should == 50000
23
23
  end
24
+
25
+ it "should return total correctly" do
26
+ @usage.usage_periods.first.total.should == 50000
27
+ end
28
+ end
29
+
30
+ describe "single usage period over limit" do
31
+ before do
32
+ services = File.read(File.dirname(__FILE__) + '/../fixtures/au_internode/home.xml')
33
+ FakeWeb.register_uri(:get, 'https://user:password@customer-webtools-api.internode.on.net/api/v1.5/', :body => services)
34
+ service = File.read(File.dirname(__FILE__) + '/../fixtures/au_internode/home_usage_overlimit.xml')
35
+ FakeWeb.register_uri(:get, 'https://user:password@customer-webtools-api.internode.on.net/api/v1.5/1234567/usage', :body => service)
36
+
37
+
38
+ options = {:username => 'user', :password => 'password'}
39
+ @usage = IspUsage::Fetchers::AUInternode.new(options)
40
+ @usage.fetch_usage
41
+ end
42
+
43
+ it "should return usage correctly" do
44
+ @usage.usage_periods.first.used.should == 50013
45
+ end
46
+
47
+ it "should return quota correctly" do
48
+ @usage.usage_periods.first.quota.should == 50000
49
+ end
50
+
51
+ it "should return total correctly" do
52
+ @usage.usage_periods.first.total.should == 50013
53
+ end
24
54
  end
25
55
  end
@@ -10,7 +10,7 @@
10
10
  <days_remaining>22</days_remaining>
11
11
  </quota_reset>
12
12
  <expected_traffic_types>
13
- <type classification="anytime" used="30003394620">
13
+ <type classification="anytime" used="45030021786">
14
14
  <name>non-free</name>
15
15
  <quota_allocation>100000</quota_allocation>
16
16
  <is_shaped speed="0">false</is_shaped>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <internode><api><service type="Personal_ADSL" request="usage">2659798</service><traffic name="total" rollover="2010-02-21" plan-interval="Monthly" quota="50000000000" unit="bytes">50013803144</traffic></api></internode>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ispusage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alan Harper
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-13 00:00:00 +10:00
12
+ date: 2010-02-19 00:00:00 +10:00
13
13
  default_executable: ispusage
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -48,9 +48,10 @@ files:
48
48
  - spec/fetchers/fetcher_spec.rb
49
49
  - spec/fetchers/iinet_spec.rb
50
50
  - spec/fetchers/internode_spec.rb
51
- - spec/fixtures/auiinet_single_account.xml
52
- - spec/fixtures/auinternode_home.xml
53
- - spec/fixtures/auinternode_home_usage.xml
51
+ - spec/fixtures/au_iinet/single_account.xml
52
+ - spec/fixtures/au_internode/home.xml
53
+ - spec/fixtures/au_internode/home_usage.xml
54
+ - spec/fixtures/au_internode/home_usage_overlimit.xml
54
55
  - spec/ispusage_spec.rb
55
56
  - spec/spec.opts
56
57
  - spec/spec_helper.rb