confluencer 0.2.5 → 0.2.6

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.5
1
+ 0.2.6
data/confluencer.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{confluencer}
8
- s.version = "0.2.5"
8
+ s.version = "0.2.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Gabor Ratky"]
@@ -37,6 +37,7 @@ Gem::Specification.new do |s|
37
37
  "script/console_init.rb",
38
38
  "spec/confluence.yaml.example",
39
39
  "spec/confluence/page_spec.rb",
40
+ "spec/confluence/session_spec.rb",
40
41
  "spec/confluencer_spec.rb",
41
42
  "spec/spec.opts",
42
43
  "spec/spec_helper.rb"
@@ -48,6 +49,7 @@ Gem::Specification.new do |s|
48
49
  s.summary = %q{Useful classes to manage Confluence.}
49
50
  s.test_files = [
50
51
  "spec/confluence/page_spec.rb",
52
+ "spec/confluence/session_spec.rb",
51
53
  "spec/confluencer_spec.rb",
52
54
  "spec/spec_helper.rb"
53
55
  ]
@@ -3,7 +3,7 @@ module Confluence
3
3
  attr_reader :client
4
4
 
5
5
  def token
6
- client.token
6
+ client.token if client
7
7
  end
8
8
 
9
9
  def initialize(arguments = {})
@@ -18,17 +18,31 @@ module Confluence
18
18
  @client.login(arguments[:username], arguments[:password])
19
19
  end
20
20
 
21
- begin
22
- # set client for records
23
- Confluence::Record::client = @client
21
+ # set client for records
22
+ Confluence::Record::client = @client
24
23
 
25
- yield @client if block_given?
24
+ if block_given?
25
+ begin
26
+ yield @client
27
+ rescue RuntimeError => e
28
+ # strip non-message part of java exception message
29
+ raise e.message.split(":").last.strip
30
+ end
26
31
 
27
- Confluence::Record::client = nil
28
- rescue RuntimeError => e
29
- # strip non-message part of java exception message
30
- raise e.message.split(":").last.strip
32
+ self.destroy
31
33
  end
32
34
  end
35
+
36
+ def destroy
37
+ # invalidate the token
38
+ client.logout
39
+
40
+ # client and token is not valid anymore
41
+ @client = nil
42
+ @token = nil
43
+
44
+ # reset client for records
45
+ Confluence::Record::client = nil
46
+ end
33
47
  end
34
48
  end
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
2
 
3
3
  module PageHelperMethods
4
4
  include SessionHelperMethods
@@ -0,0 +1,32 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
+
3
+ describe Confluence::Session do
4
+ include ConfigurationHelperMethods
5
+
6
+ it "should log into Confluence and have valid token" do
7
+ session = Confluence::Session.new config
8
+
9
+ session.client.should_not be_nil
10
+ session.token.should_not be_nil
11
+ end
12
+
13
+ it "should log out of Confluence and invalidate token" do
14
+ session = Confluence::Session.new config
15
+
16
+ # destroy session
17
+ session.destroy
18
+
19
+ session.client.should be_nil
20
+ session.token.should be_nil
21
+ end
22
+
23
+ it "should yield the client and log out of Confluence if a block is given" do
24
+ session = Confluence::Session.new(config) do |client|
25
+ client.should_not be_nil
26
+ client.token.should_not be_nil
27
+ end
28
+
29
+ session.client.should be_nil
30
+ session.token.should be_nil
31
+ end
32
+ end
data/spec/spec_helper.rb CHANGED
@@ -9,16 +9,23 @@ require 'yaml'
9
9
  Spec::Runner.configure do |config|
10
10
  end
11
11
 
12
- module SessionHelperMethods
12
+ module ConfigurationHelperMethods
13
13
  def config
14
14
  # load configuration
15
15
  @config ||= YAML.load(File.open(File.join(File.dirname(__FILE__), 'confluence.yaml')))[:test]
16
16
  end
17
+ end
18
+
19
+ module SessionHelperMethods
20
+ include ConfigurationHelperMethods
17
21
 
18
22
  def new_session
19
- # initialize session and yield if block given
20
- Confluence::Session.new config do
21
- yield if block_given?
23
+ if block_given?
24
+ # initialize session and yield
25
+ Confluence::Session.new config { yield }
26
+ else
27
+ # initialize session and return
28
+ Confluence::Session.new config
22
29
  end
23
30
  end
24
31
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 5
9
- version: 0.2.5
8
+ - 6
9
+ version: 0.2.6
10
10
  platform: ruby
11
11
  authors:
12
12
  - Gabor Ratky
@@ -61,6 +61,7 @@ files:
61
61
  - script/console_init.rb
62
62
  - spec/confluence.yaml.example
63
63
  - spec/confluence/page_spec.rb
64
+ - spec/confluence/session_spec.rb
64
65
  - spec/confluencer_spec.rb
65
66
  - spec/spec.opts
66
67
  - spec/spec_helper.rb
@@ -96,5 +97,6 @@ specification_version: 3
96
97
  summary: Useful classes to manage Confluence.
97
98
  test_files:
98
99
  - spec/confluence/page_spec.rb
100
+ - spec/confluence/session_spec.rb
99
101
  - spec/confluencer_spec.rb
100
102
  - spec/spec_helper.rb