viewpoint 0.0.5 → 0.1.0
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/README +84 -45
- data/Rakefile +7 -5
- data/TODO +6 -0
- data/VERSION +1 -1
- data/lib/exceptions/exceptions.rb +34 -0
- data/lib/extensions/string.rb +37 -0
- data/lib/model/calendar_folder.rb +45 -0
- data/lib/model/calendar_item.rb +145 -0
- data/lib/model/contact.rb +58 -0
- data/lib/model/contacts_folder.rb +35 -0
- data/lib/model/distribution_list.rb +26 -0
- data/lib/model/event.rb +118 -0
- data/lib/model/folder.rb +36 -0
- data/lib/model/generic_folder.rb +302 -0
- data/lib/model/item.rb +126 -0
- data/lib/model/mailbox_user.rb +107 -0
- data/lib/model/meeting_cancellation.rb +28 -0
- data/lib/{viewpoint/errors.rb → model/meeting_message.rb} +10 -14
- data/lib/model/meeting_request.rb +26 -0
- data/lib/model/meeting_response.rb +26 -0
- data/lib/model/message.rb +73 -0
- data/lib/model/model.rb +161 -0
- data/lib/model/search_folder.rb +36 -0
- data/lib/model/task.rb +62 -0
- data/lib/model/task_list.rb +19 -0
- data/lib/model/tasks_folder.rb +33 -0
- data/lib/soap/handsoap/builder.rb +22 -0
- data/lib/soap/handsoap/builders/ews_build_helpers.rb +317 -0
- data/lib/soap/handsoap/builders/ews_builder.rb +86 -0
- data/lib/soap/handsoap/ews_service.rb +646 -0
- data/lib/soap/handsoap/parser.rb +106 -0
- data/lib/soap/handsoap/parsers/ews_parser.rb +165 -0
- data/lib/soap/soap_provider.rb +75 -0
- data/lib/viewpoint.rb +98 -3
- data/preamble +1 -1
- data/test/spec/basic_functions.spec +51 -0
- data/test/spec/folder_subscriptions.spec +35 -0
- data/test/spec/folder_synchronization.spec +28 -0
- data/utils/ewsWSDL2rb.rb +29 -0
- metadata +101 -43
- data/lib/exchwebserv.rb +0 -6
- data/lib/soap/viewpoint.conf +0 -3
- data/lib/viewpoint/calendar.rb +0 -128
- data/lib/viewpoint/calendar_item.rb +0 -118
- data/lib/viewpoint/event.rb +0 -0
- data/lib/viewpoint/exchange_headers.rb +0 -49
- data/lib/viewpoint/exchwebserv.rb +0 -236
- data/lib/viewpoint/folder.rb +0 -358
- data/lib/viewpoint/item.rb +0 -101
- data/lib/viewpoint/mail.rb +0 -117
- data/lib/viewpoint/message.rb +0 -132
- data/lib/viewpoint/task.rb +0 -0
- data/lib/viewpoint/tasks.rb +0 -0
- data/lib/wsdl/defaultMappingRegistry.rb +0 -10680
- data/lib/wsdl/exchangeServiceBinding.rb +0 -349
- data/lib/wsdl/exchangeServiceTypes.rb +0 -11013
- data/test/spec/basic_features_spec.rb +0 -37
- data/test/test_client.rb +0 -13
- data/test/testrestrict.rb +0 -75
@@ -1,37 +0,0 @@
|
|
1
|
-
$: << File.dirname(__FILE__) + '/../../lib/'
|
2
|
-
require 'viewpoint'
|
3
|
-
|
4
|
-
describe "Test the basic features of Viewpoint" do
|
5
|
-
before(:all) do
|
6
|
-
@vp = Viewpoint::ExchWebServ.instance
|
7
|
-
end
|
8
|
-
|
9
|
-
it "should have set authenticated to true" do
|
10
|
-
@vp.authenticate.should be_true
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should find all the EWS folders" do
|
14
|
-
@vp.find_folders.should be_an_instance_of(Hash)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should resolve the name" do
|
18
|
-
# Most systems have some sort of admin user defined.
|
19
|
-
# Change this to suit your needs.
|
20
|
-
name = "admin"
|
21
|
-
@vp.resolve_name(name).should be_an_instance_of(ResolveNamesResponseMessageType)
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should retrieve all of todays messages" do
|
25
|
-
inbox = @vp.get_folder("Inbox")
|
26
|
-
messages = inbox.get_todays_messages
|
27
|
-
messages.should be_an_instance_of(Array)
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should take the last message of the day and output it in rfc822" do
|
31
|
-
inbox = @vp.get_folder("Inbox")
|
32
|
-
messages = inbox.get_todays_messages
|
33
|
-
messages.should be_an_instance_of(Array)
|
34
|
-
messages.last.to_rfc822.should be_an_instance_of(String)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
data/test/test_client.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
$: << File.dirname(__FILE__) + '/../lib/'
|
2
|
-
require 'viewpoint'
|
3
|
-
$DEBUG = true
|
4
|
-
vp = Viewpoint::ExchWebServ.instance
|
5
|
-
vp.authenticate
|
6
|
-
vp.find_folders
|
7
|
-
mail = vp.get_folder("Inbox")
|
8
|
-
msgs = mail.get_todays_messages
|
9
|
-
|
10
|
-
puts "Sender | Subject | Recieved"
|
11
|
-
msgs.each do |msg|
|
12
|
-
puts "#{msg.sender} | #{msg.subject} |#{msg.date_time_recieved}"
|
13
|
-
end
|
data/test/testrestrict.rb
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
gem 'soap4r'
|
3
|
-
require File.dirname(__FILE__) + '/../lib/exchwebserv'
|
4
|
-
require File.dirname(__FILE__) + '/../lib/wsdl/exchangeServiceBinding'
|
5
|
-
include Viewpoint
|
6
|
-
|
7
|
-
$DEBUG = true
|
8
|
-
|
9
|
-
vp = ExchWebServ.instance
|
10
|
-
vp.authenticate
|
11
|
-
vp.find_folders
|
12
|
-
|
13
|
-
fit = FindItemType.new
|
14
|
-
fit.xmlattr_Traversal = ItemQueryTraversalType::Shallow
|
15
|
-
fit.itemShape = ItemResponseShapeType.new(DefaultShapeNamesType::Default, false)
|
16
|
-
|
17
|
-
fid = NonEmptyArrayOfBaseFolderIdsType.new()
|
18
|
-
fidt = DistinguishedFolderIdType.new
|
19
|
-
fidt.xmlattr_Id = DistinguishedFolderIdNameType::Calendar
|
20
|
-
fid.distinguishedFolderId = fidt
|
21
|
-
fit.parentFolderIds = fid
|
22
|
-
|
23
|
-
cal_span = CalendarViewType.new
|
24
|
-
cal_span.xmlattr_StartDate = DateTime.parse(Date.today.to_s).to_s
|
25
|
-
cal_span.xmlattr_EndDate = DateTime.parse(Date.today.next.to_s).to_s
|
26
|
-
fit.calendarView = cal_span
|
27
|
-
|
28
|
-
|
29
|
-
# Set up restriction
|
30
|
-
# Filter by a "Contains" expression
|
31
|
-
=begin
|
32
|
-
rt = RestrictionType.new
|
33
|
-
se = ContainsExpressionType.new
|
34
|
-
fielduri = PathToUnindexedFieldType.new
|
35
|
-
fielduri.xmlattr_FieldURI = "item:Subject"
|
36
|
-
#const = FieldURIOrConstantType.new
|
37
|
-
c = ConstantValueType.new
|
38
|
-
c.xmlattr_Value = "Systems"
|
39
|
-
#const.constant = c
|
40
|
-
se.path = fielduri
|
41
|
-
se.constant = c
|
42
|
-
se.xmlattr_ContainmentMode = "Substring"
|
43
|
-
rt.containsExpression = se
|
44
|
-
=end
|
45
|
-
|
46
|
-
|
47
|
-
# Filter by when Item was received
|
48
|
-
=begin
|
49
|
-
rt = RestrictionType.new
|
50
|
-
se = IsGreaterThanType.new
|
51
|
-
fielduri = PathToUnindexedFieldType.new
|
52
|
-
fielduri.xmlattr_FieldURI = UnindexedFieldURIType::ItemDateTimeReceived
|
53
|
-
const = FieldURIOrConstantType.new
|
54
|
-
c = ConstantValueType.new
|
55
|
-
c.xmlattr_Value = (DateTime.now - 2).new_offset(0).to_s
|
56
|
-
const.constant = c
|
57
|
-
se.path = fielduri
|
58
|
-
se.fieldURIOrConstant = const
|
59
|
-
rt.isGreaterThan = se
|
60
|
-
=end
|
61
|
-
|
62
|
-
|
63
|
-
# Filter by a simple "Exists" expression
|
64
|
-
=begin
|
65
|
-
rt = RestrictionType.new
|
66
|
-
se = ExistsType.new
|
67
|
-
fielduri = PathToUnindexedFieldType.new
|
68
|
-
fielduri.xmlattr_FieldURI="item:Subject"
|
69
|
-
se.path = fielduri
|
70
|
-
rt.exists = se
|
71
|
-
=end
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
vp.ews.findItem(fit)
|