aspose_tasks_cloud 1.0.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.
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