PushCertificateParser: Add fromString method

Change-Id: I74c3f65a9ff297f708d996a4c138456a31a466b8
This commit is contained in:
Dave Borowitz 2015-07-15 18:04:10 -07:00
parent c7c5fe718d
commit 74a57f3744
2 changed files with 28 additions and 3 deletions

View File

@ -55,6 +55,7 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;
import org.eclipse.jgit.errors.PackProtocolException;
import org.eclipse.jgit.internal.storage.dfs.DfsRepositoryDescription;
@ -280,9 +281,7 @@ public void testConcatPacketLinesInsertsNewlines() throws Exception {
@Test
public void testParseReader() throws Exception {
Reader reader = new InputStreamReader(
new ByteArrayInputStream(
Constants.encode(concatPacketLines(INPUT, 0, 18))));
Reader reader = new StringReader(concatPacketLines(INPUT, 0, 18));
PushCertificate streamCert = PushCertificateParser.fromReader(reader);
PacketLineIn pckIn = newPacketLineIn(INPUT);
@ -320,6 +319,14 @@ public void testParseReader() throws Exception {
assertEquals(pckCmd.getNewId().name(), streamCmd.getNewId().name());
}
@Test
public void testParseString() throws Exception {
String str = concatPacketLines(INPUT, 0, 18);
assertEquals(
PushCertificateParser.fromReader(new StringReader(str)),
PushCertificateParser.fromString(str));
}
@Test
public void testParseMultipleFromStream() throws Exception {
String input = concatPacketLines(INPUT, 0, 17);

View File

@ -156,6 +156,24 @@ public static PushCertificate fromReader(Reader r)
return new PushCertificateParser().parse(r);
}
/**
* Parse a push certificate from a string.
*
* @see #fromReader(Reader)
* @param str
* input string.
* @return the parsed certificate.
* @throws PackProtocolException
* if the certificate is malformed.
* @throws IOException
* if there was an error reading from the input.
* @since 4.1
*/
public static PushCertificate fromString(String str)
throws PackProtocolException, IOException {
return fromReader(new java.io.StringReader(str));
}
private boolean received;
private String version;
private PushCertificateIdent pusher;