aspose_tasks_cloud 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +49 -0
  4. data/aspose_tasks_cloud.gemspec +26 -0
  5. data/lib/aspose_tasks_cloud.rb +92 -0
  6. data/lib/aspose_tasks_cloud/api/tasks_api.rb +2585 -0
  7. data/lib/aspose_tasks_cloud/api_client.rb +335 -0
  8. data/lib/aspose_tasks_cloud/api_error.rb +24 -0
  9. data/lib/aspose_tasks_cloud/configuration.rb +166 -0
  10. data/lib/aspose_tasks_cloud/models/assignment_item.rb +61 -0
  11. data/lib/aspose_tasks_cloud/models/assignment_item_response.rb +61 -0
  12. data/lib/aspose_tasks_cloud/models/assignment_items.rb +47 -0
  13. data/lib/aspose_tasks_cloud/models/assignment_items_response.rb +61 -0
  14. data/lib/aspose_tasks_cloud/models/assignment_response.rb +61 -0
  15. data/lib/aspose_tasks_cloud/models/assignments_response.rb +61 -0
  16. data/lib/aspose_tasks_cloud/models/base_object.rb +86 -0
  17. data/lib/aspose_tasks_cloud/models/base_response.rb +53 -0
  18. data/lib/aspose_tasks_cloud/models/calendar.rb +89 -0
  19. data/lib/aspose_tasks_cloud/models/calendar_exception.rb +145 -0
  20. data/lib/aspose_tasks_cloud/models/calendar_exceptions_response.rb +63 -0
  21. data/lib/aspose_tasks_cloud/models/calendar_item.rb +53 -0
  22. data/lib/aspose_tasks_cloud/models/calendar_item_response.rb +61 -0
  23. data/lib/aspose_tasks_cloud/models/calendar_items.rb +47 -0
  24. data/lib/aspose_tasks_cloud/models/calendar_items_response.rb +61 -0
  25. data/lib/aspose_tasks_cloud/models/calendar_response.rb +61 -0
  26. data/lib/aspose_tasks_cloud/models/document_properties.rb +47 -0
  27. data/lib/aspose_tasks_cloud/models/document_properties_response.rb +61 -0
  28. data/lib/aspose_tasks_cloud/models/document_property.rb +53 -0
  29. data/lib/aspose_tasks_cloud/models/document_property_response.rb +61 -0
  30. data/lib/aspose_tasks_cloud/models/extended_attribute.rb +61 -0
  31. data/lib/aspose_tasks_cloud/models/extended_attribute_definition.rb +207 -0
  32. data/lib/aspose_tasks_cloud/models/extended_attribute_item.rb +53 -0
  33. data/lib/aspose_tasks_cloud/models/extended_attribute_items.rb +47 -0
  34. data/lib/aspose_tasks_cloud/models/extended_attribute_items_response.rb +61 -0
  35. data/lib/aspose_tasks_cloud/models/extended_attribute_response.rb +61 -0
  36. data/lib/aspose_tasks_cloud/models/link.rb +61 -0
  37. data/lib/aspose_tasks_cloud/models/outline_code.rb +53 -0
  38. data/lib/aspose_tasks_cloud/models/outline_code_definition.rb +145 -0
  39. data/lib/aspose_tasks_cloud/models/outline_code_item.rb +45 -0
  40. data/lib/aspose_tasks_cloud/models/outline_code_items.rb +47 -0
  41. data/lib/aspose_tasks_cloud/models/outline_code_items_response.rb +61 -0
  42. data/lib/aspose_tasks_cloud/models/outline_code_response.rb +61 -0
  43. data/lib/aspose_tasks_cloud/models/outline_mask.rb +61 -0
  44. data/lib/aspose_tasks_cloud/models/outline_value.rb +85 -0
  45. data/lib/aspose_tasks_cloud/models/recurring_info.rb +197 -0
  46. data/lib/aspose_tasks_cloud/models/recurring_info_response.rb +61 -0
  47. data/lib/aspose_tasks_cloud/models/resource.rb +945 -0
  48. data/lib/aspose_tasks_cloud/models/resource_assignment.rb +1063 -0
  49. data/lib/aspose_tasks_cloud/models/resource_assignments.rb +47 -0
  50. data/lib/aspose_tasks_cloud/models/resource_item.rb +61 -0
  51. data/lib/aspose_tasks_cloud/models/resource_item_response.rb +61 -0
  52. data/lib/aspose_tasks_cloud/models/resource_items.rb +47 -0
  53. data/lib/aspose_tasks_cloud/models/resource_items_response.rb +61 -0
  54. data/lib/aspose_tasks_cloud/models/resource_response.rb +61 -0
  55. data/lib/aspose_tasks_cloud/models/task.rb +1595 -0
  56. data/lib/aspose_tasks_cloud/models/task_document.rb +63 -0
  57. data/lib/aspose_tasks_cloud/models/task_document_response.rb +61 -0
  58. data/lib/aspose_tasks_cloud/models/task_item.rb +85 -0
  59. data/lib/aspose_tasks_cloud/models/task_item_response.rb +61 -0
  60. data/lib/aspose_tasks_cloud/models/task_items.rb +47 -0
  61. data/lib/aspose_tasks_cloud/models/task_items_response.rb +61 -0
  62. data/lib/aspose_tasks_cloud/models/task_link.rb +85 -0
  63. data/lib/aspose_tasks_cloud/models/task_link_response.rb +61 -0
  64. data/lib/aspose_tasks_cloud/models/task_links_response.rb +63 -0
  65. data/lib/aspose_tasks_cloud/models/task_response.rb +61 -0
  66. data/lib/aspose_tasks_cloud/models/value.rb +61 -0
  67. data/lib/aspose_tasks_cloud/models/wbs_code_mask.rb +61 -0
  68. data/lib/aspose_tasks_cloud/models/wbs_definition.rb +63 -0
  69. data/lib/aspose_tasks_cloud/models/wbs_definition_response.rb +61 -0
  70. data/lib/aspose_tasks_cloud/models/week_day.rb +71 -0
  71. data/lib/aspose_tasks_cloud/models/working_time.rb +45 -0
  72. data/lib/aspose_tasks_cloud/version.rb +3 -0
  73. data/test/data/ExtendedAttribute.mpp +0 -0
  74. data/test/data/Outlinecode.mpp +0 -0
  75. data/test/data/ResourceWithExtAttribs.xml +345 -0
  76. data/test/data/sample-project-2.mpp +0 -0
  77. data/test/data/sample-project.mpp +0 -0
  78. data/test/tasks_tests.rb +430 -0
  79. metadata +207 -0
@@ -0,0 +1,45 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class WorkingTime < BaseObject
4
+ attr_accessor :from_time, :to_time
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'from_time' => :'FromTime',
11
+
12
+ #
13
+ :'to_time' => :'ToTime'
14
+
15
+ }
16
+ end
17
+
18
+ # attribute type
19
+ def self.swagger_types
20
+ {
21
+ :'from_time' => :'String',
22
+ :'to_time' => :'String'
23
+
24
+ }
25
+ end
26
+
27
+ def initialize(attributes = {})
28
+ return if !attributes.is_a?(Hash) || attributes.empty?
29
+
30
+ # convert string to symbol for hash key
31
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
32
+
33
+
34
+ if attributes[:'FromTime']
35
+ self.from_time = attributes[:'FromTime']
36
+ end
37
+
38
+ if attributes[:'ToTime']
39
+ self.to_time = attributes[:'ToTime']
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+ end
@@ -0,0 +1,3 @@
1
+ module AsposeTasksCloud
2
+ VERSION = "1.0.0"
3
+ end
Binary file
@@ -0,0 +1,345 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <Project xmlns="http://schemas.microsoft.com/project">
3
+ <!--Published by Aspose.Tasks 2009 for .NET 6.2.0.0-->
4
+ <SaveVersion>14</SaveVersion>
5
+ <CreationDate>2000-09-10T08:00:00</CreationDate>
6
+ <LastSaved>2000-09-10T23:20:53</LastSaved>
7
+ <ScheduleFromStart>1</ScheduleFromStart>
8
+ <StartDate>2000-09-10T08:00:00</StartDate>
9
+ <FinishDate>2000-09-10T08:00:00</FinishDate>
10
+ <FYStartDate>1</FYStartDate>
11
+ <CriticalSlackLimit>0</CriticalSlackLimit>
12
+ <CurrencyDigits>2</CurrencyDigits>
13
+ <CurrencySymbol>$</CurrencySymbol>
14
+ <CurrencyCode>USD</CurrencyCode>
15
+ <CurrencySymbolPosition>0</CurrencySymbolPosition>
16
+ <CalendarUID>1</CalendarUID>
17
+ <DefaultStartTime>08:00:00</DefaultStartTime>
18
+ <DefaultFinishTime>17:00:00</DefaultFinishTime>
19
+ <MinutesPerDay>480</MinutesPerDay>
20
+ <MinutesPerWeek>2400</MinutesPerWeek>
21
+ <DaysPerMonth>20</DaysPerMonth>
22
+ <DefaultTaskType>0</DefaultTaskType>
23
+ <DefaultFixedCostAccrual>3</DefaultFixedCostAccrual>
24
+ <DefaultStandardRate>0</DefaultStandardRate>
25
+ <DefaultOvertimeRate>0</DefaultOvertimeRate>
26
+ <DurationFormat>7</DurationFormat>
27
+ <WorkFormat>2</WorkFormat>
28
+ <EditableActualCosts>0</EditableActualCosts>
29
+ <HonorConstraints>0</HonorConstraints>
30
+ <InsertedProjectsLikeSummary>0</InsertedProjectsLikeSummary>
31
+ <MultipleCriticalPaths>0</MultipleCriticalPaths>
32
+ <NewTasksEffortDriven>0</NewTasksEffortDriven>
33
+ <NewTasksEstimated>0</NewTasksEstimated>
34
+ <SplitsInProgressTasks>0</SplitsInProgressTasks>
35
+ <SpreadActualCost>0</SpreadActualCost>
36
+ <SpreadPercentComplete>0</SpreadPercentComplete>
37
+ <TaskUpdatesResource>0</TaskUpdatesResource>
38
+ <FiscalYearStart>0</FiscalYearStart>
39
+ <WeekStartDay>1</WeekStartDay>
40
+ <MoveCompletedEndsBack>0</MoveCompletedEndsBack>
41
+ <MoveRemainingStartsBack>0</MoveRemainingStartsBack>
42
+ <MoveRemainingStartsForward>0</MoveRemainingStartsForward>
43
+ <MoveCompletedEndsForward>0</MoveCompletedEndsForward>
44
+ <BaselineForEarnedValue>0</BaselineForEarnedValue>
45
+ <AutoAddNewResourcesAndTasks>0</AutoAddNewResourcesAndTasks>
46
+ <MicrosoftProjectServerURL>0</MicrosoftProjectServerURL>
47
+ <Autolink>0</Autolink>
48
+ <NewTaskStartDate>0</NewTaskStartDate>
49
+ <DefaultTaskEVMethod>0</DefaultTaskEVMethod>
50
+ <ProjectExternallyEdited>0</ProjectExternallyEdited>
51
+ <ExtendedCreationDate>2000-01-01T00:00:00</ExtendedCreationDate>
52
+ <ActualsInSync>0</ActualsInSync>
53
+ <RemoveFileProperties>0</RemoveFileProperties>
54
+ <AdminProject>0</AdminProject>
55
+ <OutlineCodes />
56
+ <ExtendedAttributes />
57
+ <Calendars>
58
+ <Calendar>
59
+ <UID>1</UID>
60
+ <Name>Standard</Name>
61
+ <IsBaseCalendar>1</IsBaseCalendar>
62
+ <BaseCalendarUID>-1</BaseCalendarUID>
63
+ <WeekDays>
64
+ <WeekDay>
65
+ <DayType>2</DayType>
66
+ <DayWorking>1</DayWorking>
67
+ <WorkingTimes>
68
+ <WorkingTime>
69
+ <FromTime>08:00:00</FromTime>
70
+ <ToTime>12:00:00</ToTime>
71
+ </WorkingTime>
72
+ <WorkingTime>
73
+ <FromTime>13:00:00</FromTime>
74
+ <ToTime>17:00:00</ToTime>
75
+ </WorkingTime>
76
+ </WorkingTimes>
77
+ </WeekDay>
78
+ <WeekDay>
79
+ <DayType>3</DayType>
80
+ <DayWorking>1</DayWorking>
81
+ <WorkingTimes>
82
+ <WorkingTime>
83
+ <FromTime>08:00:00</FromTime>
84
+ <ToTime>12:00:00</ToTime>
85
+ </WorkingTime>
86
+ <WorkingTime>
87
+ <FromTime>13:00:00</FromTime>
88
+ <ToTime>17:00:00</ToTime>
89
+ </WorkingTime>
90
+ </WorkingTimes>
91
+ </WeekDay>
92
+ <WeekDay>
93
+ <DayType>4</DayType>
94
+ <DayWorking>1</DayWorking>
95
+ <WorkingTimes>
96
+ <WorkingTime>
97
+ <FromTime>08:00:00</FromTime>
98
+ <ToTime>12:00:00</ToTime>
99
+ </WorkingTime>
100
+ <WorkingTime>
101
+ <FromTime>13:00:00</FromTime>
102
+ <ToTime>17:00:00</ToTime>
103
+ </WorkingTime>
104
+ </WorkingTimes>
105
+ </WeekDay>
106
+ <WeekDay>
107
+ <DayType>5</DayType>
108
+ <DayWorking>1</DayWorking>
109
+ <WorkingTimes>
110
+ <WorkingTime>
111
+ <FromTime>08:00:00</FromTime>
112
+ <ToTime>12:00:00</ToTime>
113
+ </WorkingTime>
114
+ <WorkingTime>
115
+ <FromTime>13:00:00</FromTime>
116
+ <ToTime>17:00:00</ToTime>
117
+ </WorkingTime>
118
+ </WorkingTimes>
119
+ </WeekDay>
120
+ <WeekDay>
121
+ <DayType>6</DayType>
122
+ <DayWorking>1</DayWorking>
123
+ <WorkingTimes>
124
+ <WorkingTime>
125
+ <FromTime>08:00:00</FromTime>
126
+ <ToTime>12:00:00</ToTime>
127
+ </WorkingTime>
128
+ <WorkingTime>
129
+ <FromTime>13:00:00</FromTime>
130
+ <ToTime>17:00:00</ToTime>
131
+ </WorkingTime>
132
+ </WorkingTimes>
133
+ </WeekDay>
134
+ <WeekDay>
135
+ <DayType>7</DayType>
136
+ <DayWorking>0</DayWorking>
137
+ </WeekDay>
138
+ <WeekDay>
139
+ <DayType>1</DayType>
140
+ <DayWorking>0</DayWorking>
141
+ </WeekDay>
142
+ </WeekDays>
143
+ </Calendar>
144
+ </Calendars>
145
+ <Tasks>
146
+ <Task>
147
+ <UID>0</UID>
148
+ <ID>0</ID>
149
+ <Manual>0</Manual>
150
+ <Type>0</Type>
151
+ <IsNull>0</IsNull>
152
+ <CreateDate>2000-09-10T23:20:53</CreateDate>
153
+ <OutlineLevel>0</OutlineLevel>
154
+ <Priority>500</Priority>
155
+ <Start>2000-09-10T08:00:00</Start>
156
+ <Finish>2000-09-10T08:00:00</Finish>
157
+ <Duration>PT0H0M0S</Duration>
158
+ <ManualStart>2000-09-10T08:00:00</ManualStart>
159
+ <ManualFinish>2000-09-10T08:00:00</ManualFinish>
160
+ <ManualDuration>PT0H0M0S</ManualDuration>
161
+ <DurationFormat>21</DurationFormat>
162
+ <Work>PT0H0M0S</Work>
163
+ <ResumeValid>0</ResumeValid>
164
+ <EffortDriven>0</EffortDriven>
165
+ <Recurring>0</Recurring>
166
+ <OverAllocated>0</OverAllocated>
167
+ <Estimated>0</Estimated>
168
+ <Milestone>0</Milestone>
169
+ <Summary>0</Summary>
170
+ <Critical>1</Critical>
171
+ <IsSubproject>0</IsSubproject>
172
+ <IsSubprojectReadOnly>0</IsSubprojectReadOnly>
173
+ <ExternalTask>0</ExternalTask>
174
+ <EarlyStart>2000-09-10T08:00:00</EarlyStart>
175
+ <EarlyFinish>2000-09-10T08:00:00</EarlyFinish>
176
+ <LateStart>2000-09-10T08:00:00</LateStart>
177
+ <LateFinish>2000-09-10T08:00:00</LateFinish>
178
+ <StartVariance>0</StartVariance>
179
+ <FinishVariance>0</FinishVariance>
180
+ <WorkVariance>0</WorkVariance>
181
+ <FreeSlack>0</FreeSlack>
182
+ <TotalSlack>0</TotalSlack>
183
+ <StartSlack>0</StartSlack>
184
+ <FinishSlack>0</FinishSlack>
185
+ <FixedCost>0</FixedCost>
186
+ <FixedCostAccrual>3</FixedCostAccrual>
187
+ <PercentComplete>0</PercentComplete>
188
+ <PercentWorkComplete>0</PercentWorkComplete>
189
+ <Cost>0</Cost>
190
+ <OvertimeCost>0</OvertimeCost>
191
+ <OvertimeWork>PT0H0M0S</OvertimeWork>
192
+ <ActualDuration>PT0H0M0S</ActualDuration>
193
+ <ActualCost>0</ActualCost>
194
+ <ActualOvertimeCost>0</ActualOvertimeCost>
195
+ <ActualWork>PT0H0M0S</ActualWork>
196
+ <ActualOvertimeWork>PT0H0M0S</ActualOvertimeWork>
197
+ <RegularWork>PT0H0M0S</RegularWork>
198
+ <RemainingDuration>PT0H0M0S</RemainingDuration>
199
+ <RemainingCost>0</RemainingCost>
200
+ <RemainingWork>PT0H0M0S</RemainingWork>
201
+ <RemainingOvertimeCost>0</RemainingOvertimeCost>
202
+ <RemainingOvertimeWork>PT0H0M0S</RemainingOvertimeWork>
203
+ <ACWP>0</ACWP>
204
+ <CV>0</CV>
205
+ <ConstraintType>0</ConstraintType>
206
+ <CalendarUID>-1</CalendarUID>
207
+ <LevelAssignments>1</LevelAssignments>
208
+ <LevelingCanSplit>1</LevelingCanSplit>
209
+ <LevelingDelay>0</LevelingDelay>
210
+ <LevelingDelayFormat>8</LevelingDelayFormat>
211
+ <IgnoreResourceCalendar>0</IgnoreResourceCalendar>
212
+ <HideBar>0</HideBar>
213
+ <Rollup>0</Rollup>
214
+ <BCWS>0</BCWS>
215
+ <BCWP>0</BCWP>
216
+ <PhysicalPercentComplete>0</PhysicalPercentComplete>
217
+ <EarnedValueMethod>0</EarnedValueMethod>
218
+ <IsPublished>0</IsPublished>
219
+ <CommitmentType>0</CommitmentType>
220
+ </Task>
221
+ </Tasks>
222
+ <Resources>
223
+ <Resource>
224
+ <UID>0</UID>
225
+ <ID>0</ID>
226
+ <Type>1</Type>
227
+ <IsNull>0</IsNull>
228
+ <WorkGroup>0</WorkGroup>
229
+ <MaxUnits>1</MaxUnits>
230
+ <PeakUnits>0</PeakUnits>
231
+ <OverAllocated>0</OverAllocated>
232
+ <CanLevel>1</CanLevel>
233
+ <AccrueAt>3</AccrueAt>
234
+ <Work>PT0H0M0S</Work>
235
+ <RegularWork>PT0H0M0S</RegularWork>
236
+ <OvertimeWork>PT0H0M0S</OvertimeWork>
237
+ <ActualWork>PT0H0M0S</ActualWork>
238
+ <RemainingWork>PT0H0M0S</RemainingWork>
239
+ <ActualOvertimeWork>PT0H0M0S</ActualOvertimeWork>
240
+ <RemainingOvertimeWork>PT0H0M0S</RemainingOvertimeWork>
241
+ <PercentWorkComplete>0</PercentWorkComplete>
242
+ <StandardRate>0</StandardRate>
243
+ <StandardRateFormat>2</StandardRateFormat>
244
+ <Cost>0</Cost>
245
+ <OvertimeRate>0</OvertimeRate>
246
+ <OvertimeRateFormat>2</OvertimeRateFormat>
247
+ <OvertimeCost>0</OvertimeCost>
248
+ <CostPerUse>0</CostPerUse>
249
+ <ActualCost>0</ActualCost>
250
+ <ActualOvertimeCost>0</ActualOvertimeCost>
251
+ <RemainingCost>0</RemainingCost>
252
+ <RemainingOvertimeCost>0</RemainingOvertimeCost>
253
+ <WorkVariance>0</WorkVariance>
254
+ <CostVariance>0</CostVariance>
255
+ <SV>0</SV>
256
+ <CV>0</CV>
257
+ <ACWP>0</ACWP>
258
+ <BCWS>0</BCWS>
259
+ <BCWP>0</BCWP>
260
+ <IsGeneric>0</IsGeneric>
261
+ <IsInactive>0</IsInactive>
262
+ <IsEnterprise>0</IsEnterprise>
263
+ <BookingType>0</BookingType>
264
+ <CreationDate>2000-09-10T23:20:53</CreationDate>
265
+ <IsBudget>0</IsBudget>
266
+ </Resource>
267
+ <Resource>
268
+ <UID>1</UID>
269
+ <ID>1</ID>
270
+ <Name>Resource 1</Name>
271
+ <Type>0</Type>
272
+ <IsNull>0</IsNull>
273
+ <Initials>R</Initials>
274
+ <MaterialLabel>TEST LABEL&gt;</MaterialLabel>
275
+ <WorkGroup>0</WorkGroup>
276
+ <PeakUnits>0</PeakUnits>
277
+ <OverAllocated>0</OverAllocated>
278
+ <CanLevel>1</CanLevel>
279
+ <AccrueAt>1</AccrueAt>
280
+ <Work>PT0H0M0S</Work>
281
+ <RegularWork>PT0H0M0S</RegularWork>
282
+ <OvertimeWork>PT0H0M0S</OvertimeWork>
283
+ <ActualWork>PT0H0M0S</ActualWork>
284
+ <RemainingWork>PT0H0M0S</RemainingWork>
285
+ <ActualOvertimeWork>PT0H0M0S</ActualOvertimeWork>
286
+ <RemainingOvertimeWork>PT0H0M0S</RemainingOvertimeWork>
287
+ <PercentWorkComplete>0</PercentWorkComplete>
288
+ <StandardRate>0</StandardRate>
289
+ <StandardRateFormat>2</StandardRateFormat>
290
+ <Cost>0</Cost>
291
+ <OvertimeRateFormat>2</OvertimeRateFormat>
292
+ <CostPerUse>0</CostPerUse>
293
+ <ActualCost>0</ActualCost>
294
+ <RemainingCost>0</RemainingCost>
295
+ <WorkVariance>0</WorkVariance>
296
+ <CostVariance>0</CostVariance>
297
+ <SV>0</SV>
298
+ <CV>0</CV>
299
+ <ACWP>0</ACWP>
300
+ <CalendarUID>0</CalendarUID>
301
+ <BCWS>0</BCWS>
302
+ <BCWP>0</BCWP>
303
+ <IsGeneric>1</IsGeneric>
304
+ <IsInactive>0</IsInactive>
305
+ <IsEnterprise>0</IsEnterprise>
306
+ <BookingType>1</BookingType>
307
+ <CreationDate>2000-09-10T23:20:53</CreationDate>
308
+ <IsCostResource>0</IsCostResource>
309
+ <IsBudget>0</IsBudget>
310
+ <ExtendedAttribute>
311
+ <FieldID>205520904</FieldID>
312
+ <Value>TEXT VALUE 1</Value>
313
+ </ExtendedAttribute>
314
+ <ExtendedAttribute>
315
+ <FieldID>205521021</FieldID>
316
+ <Value>12345.6</Value>
317
+ </ExtendedAttribute>
318
+ <ExtendedAttribute>
319
+ <FieldID>205520998</FieldID>
320
+ <Value>Tue Dec 17 05:00:00 PKT 2013</Value>
321
+ </ExtendedAttribute>
322
+ <ExtendedAttribute>
323
+ <FieldID>205521003</FieldID>
324
+ <Value>Tue Dec 24 05:00:00 PKT 2013</Value>
325
+ </ExtendedAttribute>
326
+ <ExtendedAttribute>
327
+ <FieldID>205521008</FieldID>
328
+ <Value>321</Value>
329
+ </ExtendedAttribute>
330
+ <ExtendedAttribute>
331
+ <FieldID>205521069</FieldID>
332
+ <Value>Mon Dec 09 05:00:00 PKT 2013</Value>
333
+ </ExtendedAttribute>
334
+ <ExtendedAttribute>
335
+ <FieldID>205521013</FieldID>
336
+ <Value>1800</Value>
337
+ </ExtendedAttribute>
338
+ <ExtendedAttribute>
339
+ <FieldID>205521023</FieldID>
340
+ <Value>1</Value>
341
+ </ExtendedAttribute>
342
+ </Resource>
343
+ </Resources>
344
+ <Assignments />
345
+ </Project>
@@ -0,0 +1,430 @@
1
+ require "minitest/autorun"
2
+ require "minitest/unit"
3
+
4
+ require_relative '../lib/aspose_tasks_cloud'
5
+
6
+ class TasksTests < Minitest::Test
7
+ include MiniTest::Assertions
8
+ include AsposeTasksCloud
9
+ include AsposeStorageCloud
10
+
11
+ def setup
12
+ #Get App key and App SID from https://cloud.aspose.com
13
+ AsposeApp.app_key_and_sid("", "")
14
+ @tasks_api = TasksApi.new
15
+ end
16
+
17
+ def teardown
18
+ end
19
+
20
+ def upload_file(file_name)
21
+ @storage_api = StorageApi.new
22
+ response = @storage_api.put_create(file_name, File.open("data/" << file_name,"r") { |io| io.read } )
23
+
24
+ assert(response, message="Failed to upload {file_name} file.")
25
+ end
26
+
27
+ def test_get_task_document
28
+ file_name = "sample-project-2.mpp"
29
+ upload_file(file_name)
30
+
31
+ response = @tasks_api.get_task_document(file_name)
32
+ assert(response, message="Failed to represents a project document.")
33
+ end
34
+
35
+ def test_get_task_document_with_format
36
+ file_name = "sample-project.mpp"
37
+ upload_file(file_name)
38
+ format = "pdf"
39
+
40
+ response = @tasks_api.get_task_document_with_format(file_name, format)
41
+ assert(response, message="Failed to get a project document in specified format.")
42
+ end
43
+
44
+ def test_get_project_assignments
45
+ file_name = "sample-project-2.mpp"
46
+ upload_file(file_name)
47
+
48
+ response = @tasks_api.get_project_assignments(file_name)
49
+ assert(response, message="Failed to read project assignment items.")
50
+ end
51
+
52
+ def test_post_project_assignment
53
+ file_name = "sample-project.mpp"
54
+ upload_file(file_name)
55
+ task_uid = 1
56
+ resource_uid = 1
57
+
58
+ response = @tasks_api.post_project_assignment(file_name, task_uid, resource_uid)
59
+ assert(response, message="Failed to add a new assignment to a project")
60
+ end
61
+
62
+ def test_get_project_assignment
63
+ file_name = "sample-project-2.mpp"
64
+ upload_file(file_name)
65
+ assignment_uid = 1
66
+
67
+ response = @tasks_api.get_project_assignment(file_name, assignment_uid)
68
+ assert(response, message="Failed to read project assignment.")
69
+ end
70
+
71
+ def test_delete_project_assignment
72
+ file_name = "sample-project-2.mpp"
73
+ upload_file(file_name)
74
+ assignment_uid = 1
75
+
76
+ response = @tasks_api.delete_project_assignment(file_name, assignment_uid)
77
+ assert(response, message="Failed to deletes a project assignment with all references to it.")
78
+ end
79
+
80
+ def test_get_project_calendars
81
+ file_name = "sample-project.mpp"
82
+ upload_file(file_name)
83
+
84
+ response = @tasks_api.get_project_calendars(file_name)
85
+ assert(response, message="Failed to read project calendar items.")
86
+ end
87
+
88
+ def test_post_project_calendar
89
+ file_name = "sample-project.mpp"
90
+ upload_file(file_name)
91
+ calendar = Calendar.new
92
+ calendar.name = "TestCalender"
93
+ calendar.uid = 0
94
+
95
+ response = @tasks_api.post_project_calendar(file_name, calendar)
96
+ assert(response, message="Failed to add a new calendar to project file.")
97
+ end
98
+
99
+ def test_get_project_calendar
100
+ file_name = "sample-project.mpp"
101
+ upload_file(file_name)
102
+ calendar_uid = 1
103
+
104
+ response = @tasks_api.get_project_calendar(file_name, calendar_uid)
105
+ assert(response, message="Failed to represents a project calendar.")
106
+ end
107
+
108
+ def test_delete_project_calendar
109
+ file_name = "sample-project.mpp"
110
+ upload_file(file_name)
111
+ calendar_uid = 2
112
+
113
+ response = @tasks_api.delete_project_calendar(file_name, calendar_uid)
114
+ assert(response, message="Failed to deletes a project calendar")
115
+ end
116
+
117
+ def test_get_calendar_exceptions
118
+ file_name = "sample-project.mpp"
119
+ upload_file(file_name)
120
+ calendar_uid = 1
121
+
122
+ response = @tasks_api.get_calendar_exceptions(file_name, calendar_uid)
123
+ assert(response, message="Failed to get list of calendar exceptions.")
124
+ end
125
+
126
+ def test_post_calendar_exceptions
127
+ file_name = "sample-project-2.mpp"
128
+ upload_file(file_name)
129
+ calendar_uid = 1
130
+ calendar_exception = CalendarException.new
131
+ calendar_exception.name = "Test"
132
+ calendar_exception.from_date = Time.utc(2016, 01, 28).to_s
133
+ calendar_exception.to_date = Time.utc(2016, 01, 30).to_s
134
+
135
+ response = @tasks_api.post_calendar_exceptions(file_name, calendar_uid, calendar_exception)
136
+ assert(response, message="Failed to add a new calendar exception to a calendar.")
137
+ end
138
+
139
+ def test_put_calendar_exception
140
+ file_name = "sample-project.mpp"
141
+ upload_file(file_name)
142
+ calendar_uid = 1
143
+ index = 1
144
+ calendar_exception = CalendarException.new
145
+ calendar_exception.name = "Test"
146
+ calendar_exception.from_date = Time.utc(2016, 01, 28).to_s
147
+ calendar_exception.to_date = Time.utc(2016, 01, 30).to_s
148
+
149
+ response = @tasks_api.put_calendar_exception(file_name, calendar_uid, index, calendar_exception)
150
+ assert(response, message="Failed to updates calendar exception.")
151
+ end
152
+
153
+ def test_delete_calendar_exception
154
+ file_name = "sample-project.mpp"
155
+ upload_file(file_name)
156
+ calendar_uid = 1
157
+ index = 1
158
+
159
+ response = @tasks_api.delete_calendar_exception(file_name, calendar_uid, index)
160
+ assert(response, message="Failed to deletes calendar exception from calendar exceptions collection.")
161
+ end
162
+
163
+ def test_get_critical_path
164
+ file_name = "sample-project.mpp"
165
+ upload_file(file_name)
166
+
167
+ response = @tasks_api.get_critical_path(file_name)
168
+ assert(response, message="Failed to returns created report in PDF format.")
169
+ end
170
+
171
+ def test_get_document_properties
172
+ file_name = "sample-project.mpp"
173
+ upload_file(file_name)
174
+
175
+ response = @tasks_api.get_document_properties(file_name)
176
+ assert(response, message="Failed to read document properties.")
177
+ end
178
+
179
+ def test_get_document_property
180
+ file_name = "sample-project.mpp"
181
+ upload_file(file_name)
182
+ property_name = "Title"
183
+
184
+ response = @tasks_api.get_document_property(file_name, property_name)
185
+ assert(response, message="Failed to read document property by name.")
186
+ end
187
+
188
+ def test_put_document_property
189
+ file_name = "sample-project-2.mpp"
190
+ upload_file(file_name)
191
+ property_name = "Title"
192
+ document_property = DocumentProperty.new
193
+ document_property.name = property_name
194
+ document_property.value = "New Title"
195
+
196
+ response = @tasks_api.put_document_property(file_name, property_name, document_property)
197
+ assert(response, message="Failed to set/create document property.")
198
+ end
199
+
200
+ def test_post_document_property
201
+ file_name = "sample-project-2.mpp"
202
+ upload_file(file_name)
203
+ property_name = "Title"
204
+ document_property = DocumentProperty.new
205
+ document_property.name = property_name
206
+ document_property.value = "New Title"
207
+
208
+ response = @tasks_api.post_document_property(file_name, property_name, document_property)
209
+ assert(response, message="Failed to set/create document property")
210
+ end
211
+
212
+ def test_get_extended_attributes
213
+ file_name = "ExtendedAttribute.mpp"
214
+ upload_file(file_name)
215
+
216
+ response = @tasks_api.get_extended_attributes(file_name)
217
+ assert(response, message="Failed to represents a project document.")
218
+ end
219
+
220
+ def test_get_extended_attribute_by_index
221
+ file_name = "ExtendedAttribute.mpp"
222
+ upload_file(file_name)
223
+ index = 1
224
+
225
+ response = @tasks_api.get_extended_attribute_by_index(file_name, index)
226
+ assert(response, message="Failed to represent a project extended attribute definition.")
227
+ end
228
+
229
+ def test_delete_extended_attribute_by_index
230
+ file_name = "ExtendedAttribute.mpp"
231
+ upload_file(file_name)
232
+ index = 1
233
+
234
+ response = @tasks_api.delete_extended_attribute_by_index(file_name, index)
235
+ assert(response, message="Failed to delete a project extended attribute.")
236
+ end
237
+
238
+ def test_get_outline_codes
239
+ file_name = "Outlinecode.mpp"
240
+ upload_file(file_name)
241
+
242
+ response = @tasks_api.get_outline_codes(file_name)
243
+ assert(response, message="Failed to read outline codes.")
244
+ end
245
+
246
+ def test_get_outline_code_by_index
247
+ file_name = "Outlinecode.mpp"
248
+ upload_file(file_name)
249
+ index = 1
250
+
251
+ response = @tasks_api.get_outline_code_by_index(file_name, index)
252
+ assert(response, message="Failed to get outline code by index.")
253
+ end
254
+
255
+ def test_delete_outline_code_by_index
256
+ file_name = "Outlinecode.mpp"
257
+ upload_file(file_name)
258
+ index = 1
259
+
260
+ response = @tasks_api.delete_outline_code_by_index(file_name, index)
261
+ assert(response, message="Failed to deletes a project outline code")
262
+ end
263
+
264
+ def test_get_report_pdf
265
+ file_name = "sample-project.mpp"
266
+ upload_file(file_name)
267
+ type = "WorkOverview"
268
+
269
+ response = @tasks_api.get_report_pdf(file_name, type)
270
+ assert(response, message="Failed to return created report in PDF format.")
271
+ end
272
+
273
+ def test_get_project_resources
274
+ file_name = "sample-project.mpp"
275
+ upload_file(file_name)
276
+
277
+ response = @tasks_api.get_project_resources(file_name)
278
+ assert(response, message="Failed to read project resources.")
279
+ end
280
+
281
+ def test_post_project_resource
282
+ file_name = "sample-project.mpp"
283
+ upload_file(file_name)
284
+ opts = {resource_name: "Resource6", before_resource_id: 1}
285
+
286
+ response = @tasks_api.post_project_resource(file_name, opts)
287
+ assert(response, message="Failed to add a new resource to a project.")
288
+ end
289
+
290
+ def test_get_project_resource
291
+ file_name = "sample-project.mpp"
292
+ upload_file(file_name)
293
+ resource_uid = 1
294
+
295
+ response = @tasks_api.get_project_resource(file_name, resource_uid)
296
+ assert(response, message="Failed to get project resource.")
297
+ end
298
+
299
+ def test_delete_project_resource
300
+ file_name = "sample-project.mpp"
301
+ upload_file(file_name)
302
+ resource_uid = 1
303
+
304
+ response = @tasks_api.delete_project_resource(file_name, resource_uid)
305
+ assert(response, message="Failed to deletes a project resource with all references to it.")
306
+ end
307
+
308
+ def test_get_resource_assignments
309
+ file_name = "sample-project.mpp"
310
+ upload_file(file_name)
311
+ resource_uid = 1
312
+
313
+ response = @tasks_api.get_resource_assignments(file_name, resource_uid)
314
+ assert(response, message="Failed to get resource assignments.")
315
+ end
316
+
317
+ def test_get_task_links
318
+ file_name = "sample-project-2.mpp"
319
+ upload_file(file_name)
320
+
321
+ response = @tasks_api.get_task_links(file_name)
322
+ assert(response, message="Failed to read task links.")
323
+ end
324
+
325
+ def test_post_task_link
326
+ file_name = "sample-project-2.mpp"
327
+ upload_file(file_name)
328
+ task_link = TaskLink.new
329
+ task_link.index = 2
330
+ task_link.predecessor_uid = 1
331
+ task_link.successor_uid = 2
332
+
333
+ response = @tasks_api.post_task_link(file_name, task_link)
334
+ assert(response, message="Failed to add a new task link to a project.")
335
+ end
336
+
337
+ def test_put_task_link
338
+ file_name = "sample-project.mpp"
339
+ upload_file(file_name)
340
+ index = 1
341
+ task_link = TaskLink.new
342
+ task_link.index = index
343
+ task_link.predecessor_uid = 0
344
+ task_link.successor_uid = 1
345
+
346
+ response = @tasks_api.put_task_link(file_name, index, task_link)
347
+ assert(response, message="Failed to updates task link.")
348
+ end
349
+
350
+ def test_delete_task_link
351
+ file_name = "sample-project.mpp"
352
+ upload_file(file_name)
353
+ index = 1
354
+
355
+ response = @tasks_api.delete_task_link(file_name, index)
356
+ assert(response, message="Failed to updates task link.")
357
+ end
358
+
359
+ def test_get_project_tasks
360
+ file_name = "sample-project.mpp"
361
+ upload_file(file_name)
362
+
363
+ response = @tasks_api.get_project_tasks(file_name)
364
+ assert(response, message="Failed to read project task items.")
365
+ end
366
+
367
+ def test_post_project_task
368
+ file_name = "sample-project.mpp"
369
+ upload_file(file_name)
370
+ opts = {task_name: "NewTask", before_task_id: 1}
371
+
372
+ response = @tasks_api.post_project_task(file_name, opts)
373
+ assert(response, message="Failed to add a new task to a project.")
374
+ end
375
+
376
+ def test_get_project_task
377
+ file_name = "sample-project-2.mpp"
378
+ upload_file(file_name)
379
+ task_uid = 1
380
+
381
+ response = @tasks_api.get_project_task(file_name, task_uid)
382
+ assert(response, message="Failed to read project task.")
383
+ end
384
+
385
+ def test_delete_project_task
386
+ file_name = "sample-project.mpp"
387
+ upload_file(file_name)
388
+ task_uid = 1
389
+
390
+ response = @tasks_api.delete_project_task(file_name, task_uid)
391
+ assert(response, message="Failed to delete a project task with all references to it and rebuilds tasks tree.")
392
+ end
393
+
394
+ def test_get_task_assignments
395
+ file_name = "sample-project-2.mpp"
396
+ upload_file(file_name)
397
+ task_uid = 1
398
+
399
+ response = @tasks_api.get_task_assignments(file_name, task_uid)
400
+ assert(response, message="Failed to get task assignments.")
401
+ end
402
+
403
+ def test_put_move_task
404
+ file_name = "sample-project.mpp"
405
+ upload_file(file_name)
406
+ task_uid = 1
407
+ parent_task_uid = 1
408
+
409
+ response = @tasks_api.put_move_task(file_name, task_uid, parent_task_uid)
410
+ assert(response, message="Failed to move one task to another parent task")
411
+ end
412
+
413
+ def test_get_task_recurring_info
414
+ file_name = "sample-project.mpp"
415
+ upload_file(file_name)
416
+ task_uid = 1
417
+
418
+ response = @tasks_api.get_task_recurring_info(file_name, task_uid)
419
+ assert(response, message="Failed to get recurring info for the task.")
420
+ end
421
+
422
+ def test_get_project_wbs_definition
423
+ file_name = "sample-project.mpp"
424
+ upload_file(file_name)
425
+
426
+ response = @tasks_api.get_project_wbs_definition(file_name)
427
+ assert(response, message="Failed to get project WBS Definition.")
428
+ end
429
+
430
+ end