Skip to content

Commit 541265b

Browse files
committed
Simple integration test for yun SDK
1 parent 5ae1fac commit 541265b

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

examples/test/Test.ino

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
#include <Parse.h>
2+
#include <Bridge.h>
3+
#include <assert.h>
4+
5+
/***** Integration Tests of Parse Arduino Yún SDK *****/
6+
ParseClient client;
7+
int i = 0; // testId for a specific test
8+
9+
void basicObjectTest() {
10+
Serial.println("basic object operation test");
11+
12+
Serial.println("create...");
13+
ParseObjectCreate create;
14+
create.setClassName("Temperature");
15+
create.add("temperature", 175.0);
16+
create.add("leverDown", true);
17+
ParseResponse createResponse = create.send();
18+
char* objectId = new char[10];
19+
strcpy(objectId, createResponse.getString("objectId"));
20+
assert(createResponse.getErrorCode() == 0);
21+
createResponse.close();
22+
23+
Serial.println("update...");
24+
ParseObjectUpdate update;
25+
update.setClassName("Temperature");
26+
update.setObjectId(objectId);
27+
update.add("temperature", 100);
28+
ParseResponse updateResponse = update.send();
29+
assert(updateResponse.getErrorCode() == 0);
30+
updateResponse.close();
31+
32+
Serial.println("get...");
33+
ParseObjectGet get;
34+
get.setClassName("Temperature");
35+
get.setObjectId(objectId);
36+
ParseResponse getResponse = get.send();
37+
double temp = getResponse.getDouble("temperature");
38+
assert(temp == 100);
39+
getResponse.close();
40+
41+
Serial.println("delete...");
42+
ParseObjectDelete del;
43+
del.setClassName("Temperature");
44+
del.setObjectId(objectId);
45+
ParseResponse delResponse = del.send();
46+
delResponse.close();
47+
48+
Serial.println("test passed\n");
49+
}
50+
51+
void objectDataTypesTest() {
52+
Serial.println("data types test");
53+
54+
ParseObjectCreate create;
55+
create.setClassName("TestObject");
56+
create.addGeoPoint("location", 40.0, -30.0);
57+
create.addJSONValue("dateField", "{ \"__type\": \"Date\", \"iso\": \"2011-08-21T18:02:52.249Z\" }");
58+
create.addJSONValue("arrayField", "[ 30, \"s\" ]");
59+
create.addJSONValue("emptyField", "null");
60+
ParseResponse createResponse = create.send();
61+
assert(createResponse.getErrorCode() == 0);
62+
createResponse.close();
63+
64+
Serial.println("test passed\n");
65+
}
66+
67+
void queryTest() {
68+
Serial.println("query test");
69+
70+
ParseQuery query;
71+
query.setClassName("Temperature");
72+
query.whereEqualTo("temperature", 88);
73+
query.setLimit(2);
74+
query.setSkip(0);
75+
query.setKeys("temperature");
76+
ParseResponse response = query.send();
77+
78+
int countOfResults = response.count();
79+
assert(countOfResults == 2);
80+
while(response.nextObject()) {
81+
assert(88 == response.getDouble("temperature"));
82+
}
83+
response.close();
84+
85+
Serial.println("test passed\n");
86+
}
87+
88+
void setup() {
89+
// Initialize digital pin 13 as an output.
90+
pinMode(13, OUTPUT);
91+
92+
// Initialize Bridge
93+
Bridge.begin();
94+
95+
// Initialize Serial
96+
Serial.begin(9600);
97+
98+
while (!Serial); // wait for a serial connection
99+
100+
// Initialize Parse
101+
client.begin("", "");
102+
}
103+
104+
void loop() {
105+
if(i == 0) basicObjectTest();
106+
else if (i == 1) objectDataTypesTest();
107+
else if (i == 2) queryTest();
108+
else while(1);
109+
110+
i++;
111+
}

0 commit comments

Comments
 (0)