Skip to content

Commit 1994975

Browse files
authored
Merge pull request #160 from Asana/jv-asana-remove-sample-and-tests-of-non-autogen-methods
Update test and docs to reference auto generated methods
2 parents d7281b0 + e6aaf4f commit 1994975

File tree

10 files changed

+110
-117
lines changed

10 files changed

+110
-117
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,13 @@ Methods that return a single object return that object directly:
114114
User me = client.users.me().execute();
115115
System.out.println("Hello " + me.name);
116116

117-
String workspaceId = me.workspaces.get(0).gid;
117+
String workspaceId = me.workspaces.getWorkspace(0).gid;
118118
Project project = client.projects.createInWorkspace(workspaceId)
119119
.data("name", "new project")
120120
.execute();
121121
System.out.println("Created project with id: " + project.gid);
122122

123-
Methods that return multiple items (e.x. `findAll`) return an `Iterable` object. See the "Collections" section
123+
Methods that return multiple items (e.x. `getTasks`, `getProjects`, `getPortfolios`, etc.) return an `Iterable` object. See the "Collections" section
124124

125125
Options
126126
-------
@@ -135,7 +135,7 @@ Various options can be set globally on the `Client.DEFAULTS` object, per-client
135135
client.options.put("page_size", 1000);
136136

137137
// per-request:
138-
client.tasks.findAll().query("project", 1234).option("page_size", 1000).execute();
138+
client.tasks.getTasks(null, null, null, null, "1234", null).execute();
139139

140140
### Available options
141141

@@ -187,7 +187,7 @@ Collections
187187

188188
APIs that return a collection return a CollectionsRequest, which is an iterable:
189189

190-
Iterable<Workspace> workspaces = client.workspaces.findAll();
190+
Iterable<Workspace> workspaces = client.workspaces.getWorkspaces();
191191
for (Workspace workspace: workspaces) {
192192
System.out.println("Workspace: " + workspace.name);
193193
}
@@ -200,7 +200,7 @@ You can also use the raw API to fetch a page at a time:
200200

201201
String offset = null;
202202
while (true) {
203-
ResultBodyCollection<Workspace> page = client.workspaces.findAll()
203+
ResultBodyCollection<Workspace> page = client.workspaces.getWorkspaces()
204204
.option("offset", offset)
205205
.option("limit", 2)
206206
.executeRaw();

examples/ExampleCreateProjectAndStreamEvents.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ public static void main(String[] args) throws Exception {
2424

2525
// find your "Personal Projects" project
2626
Workspace personalProjects = null;
27-
for (Workspace workspace : client.workspaces.findAll()) {
27+
for (Workspace workspace : client.workspaces.getWorkspaces()) {
2828
if (workspace.name.equals("Personal Projects")) {
2929
personalProjects = workspace;
3030
break;
3131
}
3232
}
3333

3434
// create a "demo project" if it doesn't exist
35-
List<Project> projects = client.projects.findByWorkspace(personalProjects.gid).execute();
35+
List<Project> projects = client.projects.getProjectsForWorkspace(personalProjects.gid, false).execute();
3636
Project demoProject = null;
3737
for (Project project : projects) {
3838
if (project.name.equals("demo project")) {
@@ -41,7 +41,7 @@ public static void main(String[] args) throws Exception {
4141
}
4242
}
4343
if (demoProject == null) {
44-
demoProject = client.projects.createInWorkspace(personalProjects.gid)
44+
demoProject = client.projects.createProjectForWorkspace(personalProjects.gid)
4545
.data("name", "demo project")
4646
.execute();
4747
}

examples/ExampleCreateTaskAndUpload.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ public static void main(String[] args) throws Exception {
2828

2929
// find your "Personal Projects" project
3030
Workspace personalProjects = null;
31-
for (Workspace workspace : client.workspaces.findAll()) {
31+
for (Workspace workspace : client.workspaces.getWorkspaces()) {
3232
if (workspace.name.equals("Personal Projects")) {
3333
personalProjects = workspace;
3434
break;
3535
}
3636
}
3737

3838
// create a "demo project" if it doesn't exist
39-
List<Project> projects = client.projects.findByWorkspace(personalProjects.gid).execute();
39+
List<Project> projects = client.projects.getProjectsForWorkspace(personalProjects.gid, false).execute();
4040
Project demoProject = null;
4141
for (Project project : projects) {
4242
if (project.name.equals("demo project")) {
@@ -45,13 +45,13 @@ public static void main(String[] args) throws Exception {
4545
}
4646
}
4747
if (demoProject == null) {
48-
demoProject = client.projects.createInWorkspace(personalProjects.gid)
48+
demoProject = client.projects.createProjectForWorkspace(personalProjects.gid)
4949
.data("name", "demo project")
5050
.execute();
5151
}
5252

5353
// create a task in the project
54-
Task demoTask = client.tasks.createInWorkspace(personalProjects.gid)
54+
Task demoTask = client.tasks.createProjectForWorkspace(personalProjects.gid)
5555
.data("name", "demo task created at " + new Date())
5656
.data("projects", Arrays.asList(demoProject.gid))
5757
.execute();

src/test/java/com/asana/ClientTest.java

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ public void testClientGetWithNonEnglishCharacters() throws IOException
3939
public void testClientGetCollectionList() throws IOException
4040
{
4141
String req = "{ \"data\": [ { \"gid\": 1 } ]}";
42-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks").code(200).content(req);
42+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=50&opt_pretty=false").code(200).content(req);
4343

44-
List<Task> tasks = client.tasks.findByProject("1").execute();
44+
List<Task> tasks = client.tasks.getTasksForProject("1", null).execute();
4545
assertEquals(1, tasks.size());
4646
assertEquals("1", tasks.get(0).gid);
4747
}
@@ -50,9 +50,9 @@ public void testClientGetCollectionList() throws IOException
5050
public void testClientGetCollectionListWithNonEnglishCharacters() throws IOException
5151
{
5252
String req = "{ \"data\": [ { \"gid\": 1, \"name\": \"öäüßsøθæîó\" } ]}";
53-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks").code(200).content(req);
53+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=50&opt_pretty=false").code(200).content(req);
5454

55-
List<Task> tasks = client.tasks.findByProject("1").execute();
55+
List<Task> tasks = client.tasks.getTasksForProject("1", null).execute();
5656
assertEquals(1, tasks.size());
5757
assertEquals("1", tasks.get(0).gid);
5858
assertEquals("öäüßsøθæîó", tasks.get(0).name);
@@ -62,9 +62,9 @@ public void testClientGetCollectionListWithNonEnglishCharacters() throws IOExcep
6262
public void testClientGetCollectionIterator() throws IOException
6363
{
6464
String req = "{ \"data\": [ { \"gid\": 1 } ]}";
65-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=50").code(200).content(req);
65+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=50&opt_pretty=false").code(200).content(req);
6666

67-
Iterator<Task> tasks = client.tasks.findByProject("1").iterator();
67+
Iterator<Task> tasks = client.tasks.getTasksForProject("1", null).iterator();
6868
assertEquals(true, tasks.hasNext());
6969
assertEquals("1", tasks.next().gid);
7070
assertEquals(false, tasks.hasNext());
@@ -73,36 +73,33 @@ public void testClientGetCollectionIterator() throws IOException
7373
@Test
7474
public void testClientPost() throws IOException
7575
{
76-
dispatcher.registerResponse("POST", "http://app/tasks").code(201).content("{ \"data\": { \"gid\": \"1\" }}");
76+
dispatcher.registerResponse("POST", "http://app/tasks?opt_pretty=false").code(201).content("{ \"data\": { \"gid\": \"1\" }}");
7777

78-
assertEquals("1", client.tasks.create().execute().gid);
78+
assertEquals("1", client.tasks.createTask().execute().gid);
7979
}
8080

8181
@Test
8282
public void testClientPut() throws IOException
8383
{
84-
dispatcher.registerResponse("PUT", "http://app/tasks/1").code(200).content("{ \"data\": { \"gid\": \"1\" }}");
84+
dispatcher.registerResponse("PUT", "http://app/tasks/1?opt_pretty=false").code(200).content("{ \"data\": { \"gid\": \"1\" }}");
8585

86-
assertEquals("1", client.tasks.update("1").execute().gid);
86+
assertEquals("1", client.tasks.updateTask("1").execute().gid);
8787
}
8888

8989
@Test
9090
public void testClientDelete() throws IOException
9191
{
92-
dispatcher.registerResponse("DELETE", "http://app/tasks/1").code(200).content("{ \"data\": { \"gid\": \"1\" }}");
92+
dispatcher.registerResponse("DELETE", "http://app/tasks/1?opt_pretty=false").code(200).content("{ \"data\": { \"gid\": \"1\" }}");
9393

94-
assertEquals("1", client.tasks.delete("1").execute().gid);
94+
assertEquals("1", client.tasks.deleteTask("1").execute().getAsJsonObject().get("gid").getAsString());
9595
}
9696

9797
@Test
9898
public void testGetNamedParameters() throws IOException
9999
{
100-
dispatcher.registerResponse("GET", "http://app/tasks?workspace=14916&assignee=me").code(200).content("{ \"data\": [{ \"gid\": \"1\" }]}");
100+
dispatcher.registerResponse("GET", "http://app/tasks?assignee=me&limit=50&opt_pretty=false&workspace=14916").code(200).content("{ \"data\": [{ \"gid\": \"1\" }]}");
101101

102-
Collection<Task> result = client.tasks.findAll()
103-
.query("workspace", "14916")
104-
.query("assignee", "me")
105-
.execute();
102+
Collection<Task> result = client.tasks.getTasks(null, null, "14916", null, null, "me").execute();
106103
assertEquals("1", result.iterator().next().gid);
107104
}
108105

@@ -111,9 +108,9 @@ public void testPostNamedParameters() throws IOException
111108
{
112109
JsonElement req = parser.parse("{ \"data\": { \"assignee\": \"1235\", \"followers\": [\"5678\"],\"name\": \"Hello, world.\"}}");
113110

114-
dispatcher.registerResponse("POST", "http://app/tasks").code(201).content("{ \"data\": { \"gid\": \"1\" }}");
111+
dispatcher.registerResponse("POST", "http://app/tasks?opt_pretty=false").code(201).content("{ \"data\": { \"gid\": \"1\" }}");
115112

116-
Task result = client.tasks.create()
113+
Task result = client.tasks.createTask()
117114
.data("assignee", "1235")
118115
.data("followers", Arrays.asList("5678"))
119116
.data("name", "Hello, world.")
@@ -127,9 +124,9 @@ public void testPutNamedParameters() throws IOException
127124
{
128125
JsonElement req = parser.parse("{ \"data\": {\"assignee\": \"1235\", \"followers\": [\"5678\"],\"name\": \"Hello, world.\"}}");
129126

130-
dispatcher.registerResponse("PUT", "http://app/tasks/1001").code(200).content("{ \"data\": { \"gid\": \"1\" }}");
127+
dispatcher.registerResponse("PUT", "http://app/tasks/1001?opt_pretty=false").code(200).content("{ \"data\": { \"gid\": \"1\" }}");
131128

132-
Task result = client.tasks.update("1001")
129+
Task result = client.tasks.updateTask("1001")
133130
.data("assignee", "1235")
134131
.data("followers", Arrays.asList("5678"))
135132
.data("name", "Hello, world.")
@@ -144,8 +141,7 @@ public void testPagination() throws IOException
144141
String req = "{ \"data\": [ { \"gid\": 1 }],\"next_page\": {\"offset\": \"b\",\"path\": \"/tasks?project=1&limit=5&offset=b\",\"uri\": \"https://app.asana.com/api/1.0/tasks?project=1&limit=5&offset=b\"}}";
145142
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=5&offset=a").code(200).content(req);
146143

147-
ResultBodyCollection<Task> result = client.tasks.findByProject("1")
148-
.option("limit", 5).option("offset", "a")
144+
ResultBodyCollection<Task> result = client.tasks.getTasksForProject("1", null, "a", 5, null, null)
149145
.executeRaw();
150146

151147
assertEquals("1", result.data.get(0).gid);
@@ -169,8 +165,7 @@ public void testAsanaChangeLogging() throws IOException
169165
.header("asana-change","name=string_ids;info=something;affected=true")
170166
.header("asana-change", "name=new_sections;info=something;affected=true");
171167

172-
client.tasks.findByProject("1")
173-
.option("limit", 5).option("offset", "a")
168+
client.tasks.getTasksForProject("1", null, "a", 5, null, null)
174169
.executeRaw();
175170

176171
assertEquals("Log level as expected?", Level.WARNING, handler.checkLevel() );
@@ -187,10 +182,10 @@ public void testAsanaChangeLoggingIgnoreCase() throws IOException
187182
logger.setLevel(Level.ALL);
188183

189184
String req = "{ \"data\": [ { \"gid\": 1 }],\"next_page\": {\"offset\": \"b\",\"path\": \"/tasks?project=1&limit=5&offset=b\",\"uri\": \"https://app.asana.com/api/1.0/tasks?project=1&limit=5&offset=b\"}}";
190-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=5&offset=a").code(200).content(req)
185+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=50&opt_pretty=false").code(200).content(req)
191186
.header("AsANa-ChaNge","name=new_sections;info=something;affected=true");
192187

193-
client.tasks.findByProject("1")
188+
client.tasks.getTasksForProject("1", null)
194189
.option("limit", 5).option("offset", "a")
195190
.executeRaw();
196191

@@ -211,8 +206,7 @@ public void testAsanaChangeLoggingDontLogIfNotAffected() throws IOException
211206
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=5&offset=a").code(200).content(req)
212207
.header("asana-change", "name=new_sections;info=something");
213208

214-
client.tasks.findByProject("1")
215-
.option("limit", 5).option("offset", "a")
209+
client.tasks.getTasksForProject("1", null, "a", 5, null, null)
216210
.executeRaw();
217211

218212
assertNotEquals("Log level as expected?", Level.WARNING, handler.checkLevel() );

src/test/java/com/asana/IteratorTest.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ public class IteratorTest extends AsanaTest
1515
@Test
1616
public void testItemIteratorEmpty() throws IOException
1717
{
18-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2").code(200)
18+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&opt_pretty=false").code(200)
1919
.content("{\"data\": []}");
2020

21-
Iterator<Task> iter = client.tasks.findByProject("1")
21+
Iterator<Task> iter = client.tasks.getTasksForProject("1", null)
2222
.option("item_limit", 2).option("page_size", 2)
2323
.iterator();
2424
assertEquals(false, iter.hasNext());
@@ -27,10 +27,10 @@ public void testItemIteratorEmpty() throws IOException
2727
@Test
2828
public void testItemIteratorItemLimitLessThanItems() throws IOException
2929
{
30-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2").code(200)
30+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&opt_pretty=false").code(200)
3131
.content("{\"data\": [{\"gid\":1},{\"gid\":2}],\"next_page\": { \"offset\": \"a\", \"path\": \"/projects/1/tasks?limit=2&offset=a\" }}");
3232

33-
Iterator<Task> iter = client.tasks.findByProject("1")
33+
Iterator<Task> iter = client.tasks.getTasksForProject("1", null)
3434
.option("item_limit", 2).option("page_size", 2)
3535
.iterator();
3636
assertEquals(true, iter.hasNext());
@@ -48,12 +48,12 @@ public void testItemIteratorEmptyPage() throws IOException
4848
// of the first request there was another page, but at the time of actually requesting the next page all
4949
// remaining items have meanwhile been removed. In the spirit of loose coupling, it is probably good not to
5050
// overly rely on backend implementation details and verify this case, too.
51-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2").code(200)
51+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&opt_pretty=false").code(200)
5252
.content("{\"data\": [{\"gid\":1},{\"gid\":2}],\"next_page\": { \"offset\": \"a\", \"path\": \"/projects/1/tasks?limit=2&offset=a\" }}");
53-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=1&offset=a").code(200)
53+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=1&offset=a&opt_pretty=false").code(200)
5454
.content("{ \"data\": [], \"next_page\": null }");
5555

56-
Iterator<Task> iter = client.tasks.findByProject("1")
56+
Iterator<Task> iter = client.tasks.getTasksForProject("1", null)
5757
.option("item_limit", 3).option("page_size", 2)
5858
.iterator();
5959
assertEquals(true, iter.hasNext());
@@ -66,12 +66,12 @@ public void testItemIteratorEmptyPage() throws IOException
6666
@Test
6767
public void testItemIteratorItemLimitEqualItems() throws IOException
6868
{
69-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2").code(200)
69+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&opt_pretty=false").code(200)
7070
.content("{\"data\": [{\"gid\":1},{\"gid\":2}],\"next_page\": { \"offset\": \"a\", \"path\": \"/projects/1/tasks?limit=2&offset=a\" }}");
71-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=1&offset=a").code(200)
71+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=1&offset=a&opt_pretty=false").code(200)
7272
.content("{ \"data\": [{\"gid\":3}], \"next_page\": null }");
7373

74-
Iterator<Task> iter = client.tasks.findByProject("1")
74+
Iterator<Task> iter = client.tasks.getTasksForProject("1", null)
7575
.option("item_limit", 3).option("page_size", 2)
7676
.iterator();
7777
assertEquals(true, iter.hasNext());
@@ -86,12 +86,12 @@ public void testItemIteratorItemLimitEqualItems() throws IOException
8686
@Test
8787
public void testItemIteratorItemLimitGreaterThanItems() throws IOException
8888
{
89-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2").code(200)
89+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&opt_pretty=false").code(200)
9090
.content("{\"data\": [{\"gid\":1},{\"gid\":2}],\"next_page\": { \"offset\": \"a\", \"path\": \"/projects/1/tasks?limit=2&offset=a\" }}");
91-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&offset=a").code(200)
91+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&offset=a&opt_pretty=false").code(200)
9292
.content("{ \"data\": [{\"gid\":3}], \"next_page\": null }");
9393

94-
Iterator<Task> iter = client.tasks.findByProject("1")
94+
Iterator<Task> iter = client.tasks.getTasksForProject("1", null)
9595
.option("item_limit", 4).option("page_size", 2)
9696
.iterator();
9797
assertEquals(true, iter.hasNext());
@@ -106,12 +106,12 @@ public void testItemIteratorItemLimitGreaterThanItems() throws IOException
106106
@Test
107107
public void testItemIteratorPreserveOptFields() throws IOException
108108
{
109-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&opt_fields=foo").code(200)
109+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=2&opt_pretty=false").code(200)
110110
.content("{\"data\": [{\"gid\":1},{\"gid\":2}],\"next_page\": { \"offset\": \"a\", \"path\": \"/projects/1/tasks?limit=2&offset=a\" }}");
111-
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=1&offset=a&opt_fields=foo").code(200)
111+
dispatcher.registerResponse("GET", "http://app/projects/1/tasks?limit=1&offset=a&opt_pretty=false").code(200)
112112
.content("{ \"data\": [{\"gid\":3}], \"next_page\": null }");
113113

114-
Iterator<Task> iter = client.tasks.findByProject("1")
114+
Iterator<Task> iter = client.tasks.getTasksForProject("1", null)
115115
.option("fields", Arrays.asList("foo"))
116116
.option("item_limit", 3).option("page_size", 2)
117117
.iterator();

0 commit comments

Comments
 (0)