sabredav_client 0.2.0 → 0.2.1

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -3
  3. data/.rspec +1 -1
  4. data/CHANGELOG.rdoc +8 -8
  5. data/Gemfile +3 -3
  6. data/Gemfile.lock +39 -38
  7. data/README.md +49 -49
  8. data/Rakefile +5 -5
  9. data/lib/sabredav_client.rb +10 -10
  10. data/lib/sabredav_client/calendar.rb +171 -171
  11. data/lib/sabredav_client/client.rb +57 -57
  12. data/lib/sabredav_client/errors/errors.rb +41 -41
  13. data/lib/sabredav_client/events.rb +106 -105
  14. data/lib/sabredav_client/net.rb +15 -15
  15. data/lib/sabredav_client/principal.rb +51 -51
  16. data/lib/sabredav_client/request.rb +97 -97
  17. data/lib/sabredav_client/version.rb +3 -3
  18. data/lib/sabredav_client/xml_request_builder.rb +7 -7
  19. data/lib/sabredav_client/xml_request_builder/base.rb +17 -17
  20. data/lib/sabredav_client/xml_request_builder/mkcalendar.rb +25 -25
  21. data/lib/sabredav_client/xml_request_builder/mkcol_principal.rb +28 -28
  22. data/lib/sabredav_client/xml_request_builder/post_sharing.rb +41 -41
  23. data/lib/sabredav_client/xml_request_builder/propfind_calendar.rb +41 -41
  24. data/lib/sabredav_client/xml_request_builder/propfind_invite.rb +19 -19
  25. data/lib/sabredav_client/xml_request_builder/propfind_owner.rb +19 -19
  26. data/lib/sabredav_client/xml_request_builder/proppatch_calendar.rb +25 -25
  27. data/lib/sabredav_client/xml_request_builder/proppatch_events_owner.rb +23 -23
  28. data/lib/sabredav_client/xml_request_builder/proppatch_principal.rb +25 -25
  29. data/lib/sabredav_client/xml_request_builder/report_event_changes.rb +22 -22
  30. data/lib/sabredav_client/xml_request_builder/report_vevent.rb +30 -30
  31. data/lib/sabredav_client/xml_request_builder/report_vtodo.rb +20 -20
  32. data/sabredav_client.gemspec +31 -31
  33. data/spec/fixtures/calendar_fetch_changes.xml +26 -26
  34. data/spec/fixtures/calendar_info.xml +14 -14
  35. data/spec/fixtures/calendar_sharees.xml +35 -35
  36. data/spec/fixtures/calendar_sharees_without_common_name.xml +26 -26
  37. data/spec/fixtures/event.ics +23 -23
  38. data/spec/fixtures/events_find_multiple.xml +51 -51
  39. data/spec/fixtures/events_owner.xml +12 -12
  40. data/spec/fixtures/xml_request_builder/mkcalendar.xml +9 -9
  41. data/spec/fixtures/xml_request_builder/mkcol_principal.xml +12 -12
  42. data/spec/fixtures/xml_request_builder/post_sharing.xml +18 -18
  43. data/spec/fixtures/xml_request_builder/propfind_calendar/all_properties.xml +8 -8
  44. data/spec/fixtures/xml_request_builder/propfind_invite.xml +6 -6
  45. data/spec/fixtures/xml_request_builder/propfind_owner.xml +6 -6
  46. data/spec/fixtures/xml_request_builder/proppatch_calendar.xml +9 -9
  47. data/spec/fixtures/xml_request_builder/proppatch_events_owner.xml +8 -8
  48. data/spec/fixtures/xml_request_builder/proppatch_principal.xml +9 -9
  49. data/spec/fixtures/xml_request_builder/report_event_changes.xml +8 -8
  50. data/spec/sabredav_client/calendar_spec.rb +142 -142
  51. data/spec/sabredav_client/client_spec.rb +41 -41
  52. data/spec/sabredav_client/events_spec.rb +119 -119
  53. data/spec/sabredav_client/principal_spec.rb +51 -51
  54. data/spec/sabredav_client/request_spec.rb +55 -55
  55. data/spec/sabredav_client/xml_request_builder_specs/base_spec.rb +30 -30
  56. data/spec/sabredav_client/xml_request_builder_specs/mkcalendar_spec.rb +13 -13
  57. data/spec/sabredav_client/xml_request_builder_specs/mkcol_principal_spec.rb +13 -13
  58. data/spec/sabredav_client/xml_request_builder_specs/post_sharing_spec.rb +15 -15
  59. data/spec/sabredav_client/xml_request_builder_specs/propfind_calendar_spec.rb +24 -24
  60. data/spec/sabredav_client/xml_request_builder_specs/propfind_invite_spec.rb +14 -14
  61. data/spec/sabredav_client/xml_request_builder_specs/propfind_owner_spec.rb +14 -14
  62. data/spec/sabredav_client/xml_request_builder_specs/proppatch_calendar.rb +15 -15
  63. data/spec/sabredav_client/xml_request_builder_specs/proppatch_events_owner_spec.rb +14 -14
  64. data/spec/sabredav_client/xml_request_builder_specs/proppatch_principal_spec.rb +24 -24
  65. data/spec/sabredav_client/xml_request_builder_specs/report_event_changes_spec.rb +15 -15
  66. data/spec/spec.opts +4 -4
  67. data/spec/spec_helper.rb +8 -8
  68. metadata +5 -5
@@ -1,30 +1,30 @@
1
- require 'spec_helper'
2
-
3
- describe SabredavClient::XmlRequestBuilder::Base do
4
-
5
- let(:base) { described_class.new() }
6
-
7
- describe "module constants" do
8
-
9
- it "to be there" do
10
- NAMESPACE = {"xmlns:d" => 'DAV:'}
11
- C_NAMESPACES = {"xmlns:d" => 'DAV:', "xmlns:c" => "urn:ietf:params:xml:ns:caldav"}
12
- CS_NAMESPACES = {"xmlns:d" => 'DAV:', "xmlns:cs" => "http://calendarserver.org/ns/"}
13
- SB_NAMESPACES = {"xmlns:d" => 'DAV:', "xmlns:sb" => "http://sabredav.org/ns"}
14
-
15
- expect(SabredavClient::XmlRequestBuilder::NAMESPACE).to eq NAMESPACE
16
- expect(SabredavClient::XmlRequestBuilder::C_NAMESPACES).to eq C_NAMESPACES
17
- expect(SabredavClient::XmlRequestBuilder::CS_NAMESPACES).to eq CS_NAMESPACES
18
- expect(SabredavClient::XmlRequestBuilder::SB_NAMESPACES).to eq SB_NAMESPACES
19
- end
20
- end
21
-
22
- describe "initialization" do
23
- indent = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kind_of?>Builder::XmlMarkup</kind_of?>\n<indent/>\n"
24
-
25
- it "xml indent is correct" do
26
- expect(base.xml).to be_a Builder::XmlMarkup
27
- expect(base.xml.indent).to eq indent
28
- end
29
- end
30
- end
1
+ require 'spec_helper'
2
+
3
+ describe SabredavClient::XmlRequestBuilder::Base do
4
+
5
+ let(:base) { described_class.new() }
6
+
7
+ describe "module constants" do
8
+
9
+ it "to be there" do
10
+ NAMESPACE = {"xmlns:d" => 'DAV:'}
11
+ C_NAMESPACES = {"xmlns:d" => 'DAV:', "xmlns:c" => "urn:ietf:params:xml:ns:caldav"}
12
+ CS_NAMESPACES = {"xmlns:d" => 'DAV:', "xmlns:cs" => "http://calendarserver.org/ns/"}
13
+ SB_NAMESPACES = {"xmlns:d" => 'DAV:', "xmlns:sb" => "http://sabredav.org/ns"}
14
+
15
+ expect(SabredavClient::XmlRequestBuilder::NAMESPACE).to eq NAMESPACE
16
+ expect(SabredavClient::XmlRequestBuilder::C_NAMESPACES).to eq C_NAMESPACES
17
+ expect(SabredavClient::XmlRequestBuilder::CS_NAMESPACES).to eq CS_NAMESPACES
18
+ expect(SabredavClient::XmlRequestBuilder::SB_NAMESPACES).to eq SB_NAMESPACES
19
+ end
20
+ end
21
+
22
+ describe "initialization" do
23
+ indent = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kind_of?>Builder::XmlMarkup</kind_of?>\n<indent/>\n"
24
+
25
+ it "xml indent is correct" do
26
+ expect(base.xml).to be_a Builder::XmlMarkup
27
+ expect(base.xml.indent).to eq indent
28
+ end
29
+ end
30
+ end
@@ -1,13 +1,13 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::Mkcalendar do
4
- let(:mkcalendar) { described_class.new(displayname = "name", description = "description") }
5
-
6
- describe "#to_xml" do
7
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/mkcalendar.xml') }
8
-
9
- it "returns a valid xml" do
10
- expect(mkcalendar.to_xml).to eq(expected_xml)
11
- end
12
- end
13
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::Mkcalendar do
4
+ let(:mkcalendar) { described_class.new(displayname = "name", description = "description") }
5
+
6
+ describe "#to_xml" do
7
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/mkcalendar.xml') }
8
+
9
+ it "returns a valid xml" do
10
+ expect(mkcalendar.to_xml).to eq(expected_xml)
11
+ end
12
+ end
13
+ end
@@ -1,13 +1,13 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::MkcolPrincipal do
4
- let(:mkcol) { described_class.new(email = "test@test.de", displayname = "usertest") }
5
-
6
- describe "#to_xml" do
7
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/mkcol_principal.xml') }
8
-
9
- it "returns a valid xml with displayname" do
10
- expect(mkcol.to_xml).to eq(expected_xml)
11
- end
12
- end
13
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::MkcolPrincipal do
4
+ let(:mkcol) { described_class.new(email = "test@test.de", displayname = "usertest") }
5
+
6
+ describe "#to_xml" do
7
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/mkcol_principal.xml') }
8
+
9
+ it "returns a valid xml with displayname" do
10
+ expect(mkcol.to_xml).to eq(expected_xml)
11
+ end
12
+ end
13
+ end
@@ -1,15 +1,15 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::PostSharing do
4
- let(:post) { described_class.new(adds = ["add1@test.de", "add2@test.de"],
5
- summary = "title", common_name = "common_name", privilege = "read-write",
6
- removes = ["remove@test.de"]) }
7
-
8
- describe "#to_xml" do
9
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/post_sharing.xml') }
10
-
11
- it "returns a valid xml" do
12
- expect(post.to_xml).to eq(expected_xml)
13
- end
14
- end
15
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::PostSharing do
4
+ let(:post) { described_class.new(adds = ["add1@test.de", "add2@test.de"],
5
+ summary = "title", common_name = "common_name", privilege = "read-write",
6
+ removes = ["remove@test.de"]) }
7
+
8
+ describe "#to_xml" do
9
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/post_sharing.xml') }
10
+
11
+ it "returns a valid xml" do
12
+ expect(post.to_xml).to eq(expected_xml)
13
+ end
14
+ end
15
+ end
@@ -1,24 +1,24 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::PROPFINDCalendar do
4
- let(:propfind) { described_class.new(properties: [:displayname, :getctag, :sync_token]) }
5
-
6
- describe "#to_xml" do
7
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/propfind_calendar/all_properties.xml') }
8
-
9
- it "returns a valid xml" do
10
- expect(propfind.to_xml).to eq(expected_xml)
11
- end
12
-
13
- context "error" do
14
- let(:propfind) { described_class.new(properties: [:displayname, :etag, :sync_token]) }
15
-
16
- it "raises an error if the not supported properties are selected" do
17
- expect {
18
- propfind.to_xml
19
- }.to raise_error(SabredavClient::Errors::PropertyNotSupportedError)
20
- end
21
-
22
- end
23
- end
24
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::PROPFINDCalendar do
4
+ let(:propfind) { described_class.new(properties: [:displayname, :getctag, :sync_token]) }
5
+
6
+ describe "#to_xml" do
7
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/propfind_calendar/all_properties.xml') }
8
+
9
+ it "returns a valid xml" do
10
+ expect(propfind.to_xml).to eq(expected_xml)
11
+ end
12
+
13
+ context "error" do
14
+ let(:propfind) { described_class.new(properties: [:displayname, :etag, :sync_token]) }
15
+
16
+ it "raises an error if the not supported properties are selected" do
17
+ expect {
18
+ propfind.to_xml
19
+ }.to raise_error(SabredavClient::Errors::PropertyNotSupportedError)
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -1,14 +1,14 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::PropfindInvite do
4
-
5
- let(:propfind) { described_class.new }
6
-
7
- describe "#to_xml" do
8
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/propfind_invite.xml') }
9
-
10
- it "returns a valid xml" do
11
- expect(propfind.to_xml).to eq(expected_xml)
12
- end
13
- end
14
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::PropfindInvite do
4
+
5
+ let(:propfind) { described_class.new }
6
+
7
+ describe "#to_xml" do
8
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/propfind_invite.xml') }
9
+
10
+ it "returns a valid xml" do
11
+ expect(propfind.to_xml).to eq(expected_xml)
12
+ end
13
+ end
14
+ end
@@ -1,14 +1,14 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::PropfindOwner do
4
-
5
- let(:propfind) { described_class.new }
6
-
7
- describe "#to_xml" do
8
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/propfind_owner.xml') }
9
-
10
- it "returns a valid xml" do
11
- expect(propfind.to_xml).to eq(expected_xml)
12
- end
13
- end
14
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::PropfindOwner do
4
+
5
+ let(:propfind) { described_class.new }
6
+
7
+ describe "#to_xml" do
8
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/propfind_owner.xml') }
9
+
10
+ it "returns a valid xml" do
11
+ expect(propfind.to_xml).to eq(expected_xml)
12
+ end
13
+ end
14
+ end
@@ -1,15 +1,15 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::ProppatchCalendar do
4
-
5
- let(:proppatch) { described_class.new(displayname = "name", description = "description") }
6
-
7
- describe "#to_xml" do
8
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/proppatch_calendar.xml') }
9
-
10
- it "returns a valid xml" do
11
- expect(proppatch.to_xml).to eq(expected_xml)
12
- end
13
-
14
- end
15
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::ProppatchCalendar do
4
+
5
+ let(:proppatch) { described_class.new(displayname = "name", description = "description") }
6
+
7
+ describe "#to_xml" do
8
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/proppatch_calendar.xml') }
9
+
10
+ it "returns a valid xml" do
11
+ expect(proppatch.to_xml).to eq(expected_xml)
12
+ end
13
+
14
+ end
15
+ end
@@ -1,14 +1,14 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::ProppatchEventsOwner do
4
-
5
- let(:proppatch) { described_class.new(owner = "principals/usertest") }
6
-
7
- describe "#to_xml" do
8
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/proppatch_events_owner.xml') }
9
-
10
- it "returns a valid xml" do
11
- expect(proppatch.to_xml).to eq(expected_xml)
12
- end
13
- end
14
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::ProppatchEventsOwner do
4
+
5
+ let(:proppatch) { described_class.new(owner = "principals/usertest") }
6
+
7
+ describe "#to_xml" do
8
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/proppatch_events_owner.xml') }
9
+
10
+ it "returns a valid xml" do
11
+ expect(proppatch.to_xml).to eq(expected_xml)
12
+ end
13
+ end
14
+ end
@@ -1,24 +1,24 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe SabredavClient::XmlRequestBuilder::ProppatchPrincipal do
4
-
5
- let(:proppatch) { described_class.new(email = "update@test.de", diplayname = "David B." ) }
6
-
7
- describe "#to_xml" do
8
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/proppatch_principal.xml') }
9
-
10
- it "returns a valid xml" do
11
- expect(proppatch.to_xml).to eq(expected_xml)
12
- end
13
-
14
- it "returns a valid xml without email address" do
15
- proppatch.email = ""
16
- expect(proppatch.to_xml).not_to include("sb:email-address")
17
- end
18
-
19
- it "returns a valid xml without displayname" do
20
- proppatch.displayname = ""
21
- expect(proppatch.to_xml).not_to include("d:displayname")
22
- end
23
- end
24
- end
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SabredavClient::XmlRequestBuilder::ProppatchPrincipal do
4
+
5
+ let(:proppatch) { described_class.new(email = "update@test.de", diplayname = "David B." ) }
6
+
7
+ describe "#to_xml" do
8
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/proppatch_principal.xml') }
9
+
10
+ it "returns a valid xml" do
11
+ expect(proppatch.to_xml).to eq(expected_xml)
12
+ end
13
+
14
+ it "returns a valid xml without email address" do
15
+ proppatch.email = ""
16
+ expect(proppatch.to_xml).not_to include("sb:email-address")
17
+ end
18
+
19
+ it "returns a valid xml without displayname" do
20
+ proppatch.displayname = ""
21
+ expect(proppatch.to_xml).not_to include("d:displayname")
22
+ end
23
+ end
24
+ end
@@ -1,15 +1,15 @@
1
- require 'spec_helper'
2
-
3
- describe SabredavClient::XmlRequestBuilder::ReportEventChanges do
4
-
5
- let(:report) { described_class.new(sync_token = "token-1234") }
6
-
7
- describe "#to_xml" do
8
- let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/report_event_changes.xml') }
9
-
10
- it "returns a valid xml with displayname" do
11
- expect(report.to_xml).to eq(expected_xml)
12
- end
13
- end
14
-
15
- end
1
+ require 'spec_helper'
2
+
3
+ describe SabredavClient::XmlRequestBuilder::ReportEventChanges do
4
+
5
+ let(:report) { described_class.new(sync_token = "token-1234") }
6
+
7
+ describe "#to_xml" do
8
+ let(:expected_xml) { File.read('spec/fixtures/xml_request_builder/report_event_changes.xml') }
9
+
10
+ it "returns a valid xml with displayname" do
11
+ expect(report.to_xml).to eq(expected_xml)
12
+ end
13
+ end
14
+
15
+ end
data/spec/spec.opts CHANGED
@@ -1,5 +1,5 @@
1
- --colour
2
- --format
3
- progress
4
- --loadby
1
+ --colour
2
+ --format
3
+ progress
4
+ --loadby
5
5
  mtime
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,8 @@
1
- require 'rspec'
2
- require 'rubygems'
3
- require 'sabredav_client'
4
- require 'fakeweb'
5
-
6
- RSpec.configure do |config|
7
- FakeWeb.allow_net_connect = false
8
- end
1
+ require 'rspec'
2
+ require 'rubygems'
3
+ require 'sabredav_client'
4
+ require 'fakeweb'
5
+
6
+ RSpec.configure do |config|
7
+ FakeWeb.allow_net_connect = false
8
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sabredav_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas Schwartau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-06 00:00:00.000000000 Z
11
+ date: 2016-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -66,8 +66,8 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.3'
69
- description: " sabredav_client is a great Ruby client for SabreDAV servers. It is
70
- based on the agcaldav gem.\n"
69
+ description: |2
70
+ sabredav_client is a great Ruby client for SabreDAV servers. It is based on the agcaldav gem.
71
71
  email:
72
72
  - n.schwartau@gmail.com
73
73
  executables: []
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  version: '0'
161
161
  requirements: []
162
162
  rubyforge_project:
163
- rubygems_version: 2.5.1
163
+ rubygems_version: 2.4.5.1
164
164
  signing_key:
165
165
  specification_version: 4
166
166
  summary: Ruby SabreDAV client