java: Add and implement the JNI for Service.Login
MultiPart: 2/2
Change-Id: I6336d75198dc6ddef2de2764f2ee9cbabe3f0e9e
diff --git a/syncbase/src/main/java/io/v/syncbase/internal/Service.java b/syncbase/src/main/java/io/v/syncbase/internal/Service.java
index b898d0d..3ad493a 100644
--- a/syncbase/src/main/java/io/v/syncbase/internal/Service.java
+++ b/syncbase/src/main/java/io/v/syncbase/internal/Service.java
@@ -11,4 +11,5 @@
public static native void SetPermissions(VersionedPermissions permissions) throws VError;
public static native List<Id> ListDatabases() throws Error;
+ public static native void Login(String oAuthProvider, String oAuthToken) throws VError;
}
\ No newline at end of file
diff --git a/syncbase/src/test/java/io/v/syncbase/internal/ServiceTest.java b/syncbase/src/test/java/io/v/syncbase/internal/ServiceTest.java
index da6b8d9..b02c423 100644
--- a/syncbase/src/test/java/io/v/syncbase/internal/ServiceTest.java
+++ b/syncbase/src/test/java/io/v/syncbase/internal/ServiceTest.java
@@ -41,4 +41,20 @@
fail(vError.toString());
}
}
+
+ @Test
+ public void login() {
+ boolean exceptionThrown = false;
+ try {
+ Service.Login("dummy-provider", "");
+ } catch (VError vError) {
+ assertEquals("v.io/v23/verror.Unknown", vError.id);
+ assertNotNull(vError.message);
+ assertTrue(vError.message.contains("dummy-provider"));
+ assertNotNull(vError.stack);
+ assertEquals(0, vError.actionCode);
+ exceptionThrown = true;
+ }
+ assertTrue(exceptionThrown);
+ }
}