Skip to content

Commit

Permalink
Add integration tests for Datastore quickstart.
Browse files Browse the repository at this point in the history
  • Loading branch information
tswast committed Oct 25, 2016
1 parent 7b4389b commit 9c5635d
Show file tree
Hide file tree
Showing 5 changed files with 115 additions and 3 deletions.
2 changes: 1 addition & 1 deletion bigquery/cloud-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<version>0.29</version>
<version>0.30</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
26 changes: 26 additions & 0 deletions datastore/cloud-client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Getting Started with Cloud Datastore and the Google Cloud Client libraries

[Google Cloud Datastore][Datastore] is a highly-scalable NoSQL database for your applications.
These sample Java applications demonstrate how to access the Datastore API using
the [Google Cloud Client Library for Java][google-cloud-java].

[Datastore]: https://cloud.google.com/datastore/
[google-cloud-java]: https://github.com/GoogleCloudPlatform/google-cloud-java

## Quickstart

Install [Maven](http://maven.apache.org/).

Build your project with:

mvn clean package -DskipTests

You can then run a given `ClassName` via:

mvn exec:java -Dexec.mainClass=com.example.bigquery.ClassName \
-DpropertyName=propertyValue \
-Dexec.args="any arguments to the app"

### Creating a new entity (using the quickstart sample)

mvn exec:java -Dexec.mainClass=com.example.datastore.QuickstartSample
14 changes: 14 additions & 0 deletions datastore/cloud-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,19 @@
<artifactId>google-cloud-datastore</artifactId>
<version>0.4.0</version>
</dependency>

<!-- Test dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<version>0.30</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ public static void main(String... args) throws Exception {

// Prepares the new entity
Entity task = Entity.builder(taskKey)
.set("description", "Buy milk")
.build();
.set("description", "Buy milk")
.build();

// Saves the entity
datastore.put(task);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*
Copyright 2016, Google, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package com.example.datastore;

import static com.google.common.truth.Truth.assertThat;

import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Key;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

/**
* Tests for quickstart sample.
*/
@RunWith(JUnit4.class)
@SuppressWarnings("checkstyle:abbreviationaswordinname")
public class QuickstartSampleIT {
private ByteArrayOutputStream bout;
private PrintStream out;

private static final void deleteTestEntity() {
Datastore datastore = DatastoreOptions.defaultInstance().service();
String kind = "Task";
String name = "sampletask1";
Key taskKey = datastore.newKeyFactory().kind(kind).newKey(name);
datastore.delete(taskKey);
}

@Before
public void setUp() {
deleteTestEntity();

bout = new ByteArrayOutputStream();
out = new PrintStream(bout);
System.setOut(out);
}

@After
public void tearDown() {
System.setOut(null);
deleteTestEntity();
}

@Test
public void testQuickstart() throws Exception {
QuickstartSample.main();
String got = bout.toString();
assertThat(got).contains("Saved sampletask1: Buy milk");
}
}
// [END datastore_quickstart]

0 comments on commit 9c5635d

Please sign in to comment.