Skip to content

Commit 884eae2

Browse files
author
Arngrimur Bjarnason
committed
Adding possiblity to get ssh keys
1 parent b9bf47a commit 884eae2

2 files changed

Lines changed: 29 additions & 4 deletions

File tree

src/main/java/org/kohsuke/github/GHUser.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626
import com.infradna.tool.bridge_method_injector.WithBridgeMethods;
2727

2828
import java.io.IOException;
29-
import java.util.HashSet;
30-
import java.util.Set;
29+
import java.util.*;
3130

3231
/**
3332
* Represents an user of GitHub.
@@ -36,6 +35,10 @@
3635
*/
3736
public class GHUser extends GHPerson {
3837

38+
public List<GHKey> listKeys() throws IOException {
39+
return Collections.unmodifiableList(Arrays.asList(root.retrieve().to("/users/"+login+"/keys", GHKey[].class)));
40+
}
41+
3942
/**
4043
* Follow this user.
4144
*/

src/test/java/org/kohsuke/github/UserTest.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
import org.junit.Test;
44

55
import java.io.IOException;
6-
import java.util.HashSet;
7-
import java.util.Set;
6+
import java.util.*;
87

98
/**
109
* @author Kohsuke Kawaguchi
@@ -27,4 +26,27 @@ private Set<GHUser> count30(PagedIterable<GHUser> l) {
2726
assertEquals(30, users.size());
2827
return users;
2928
}
29+
30+
@Test
31+
public void getKeys() throws IOException {
32+
GHUser u = gitHub.getUser("rtyler");
33+
List<GHKey> ghKeys = new ArrayList<>(u.listKeys());
34+
35+
assertEquals(3, ghKeys.size());
36+
Collections.sort(ghKeys, new Comparator<GHKey>() {
37+
@Override
38+
public int compare(GHKey ghKey, GHKey t1) {
39+
return ghKey.getId() - t1.getId();
40+
}
41+
});
42+
assertEquals(1066173, ghKeys.get(0).getId());
43+
assertEquals("ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAueiy12T5bvFhsc9YjfLc3aVIxgySd3gDxQWy/bletIoZL8omKmzocBYJ7F58U1asoyfWsy2ToTOY8jJp1eToXmbD6L5+xvHba0A7djYh9aQRrFam7doKQ0zp0ZSUF6+R1v0OM4nnWqK4n2ECIYd+Bdzrp+xA5+XlW3ZSNzlnW2BeWznzmgRMcp6wI+zQ9GMHWviR1cxpml5Z6wrxTZ0aX91btvnNPqoOGva976B6e6403FOEkkIFTk6CC1TFKwc/VjbqxYBg4kU0JhiTP+iEZibcQrYjWdYUgAotYbFVe5/DneHMLNsMPdeihba4PUwt62rXyNegenuCRmCntLcaFQ==",
44+
ghKeys.get(0).getKey());
45+
assertEquals(28136459, ghKeys.get(1 ).getId());
46+
assertEquals( "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTU0s5OKCC6VpKZGL9NJD4mNLY0AtujkVB1JkkuQ4OkMi2YGUHJtGhTbTwEVhNxpm0x2dM5KSzse6MLDYuGBW0qkE/VVuD9+9I73hbq461KqP0+WlupNh+Qc86kbiLBDv64+vWc+50mp1dbINpoM5xvaPYxgjnemydPv7vu5bhCHBugW7aN8VcLgfFgcp8vZCEanMtd3hIRjRU8v8Skk233ZGu1bXkG8iIOBQPabvEtZ0VDMg9pT3Q1R6lnnKqfCwHXd6zP6uAtejFSxvKRGKpu3OLGQMHwk7NlImVuhkVdaEFBq7pQtpOaGuP2eLKcN1wy5jsTYE+ZB6pvHCi2ecb",
47+
ghKeys.get(1).getKey());
48+
assertEquals(31452581, ghKeys.get(2).getId());
49+
assertEquals("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC3JhH2FZBDmHLjXTcBoV6tdcYKmsQ7sgu8k1RsUhwxGsXm65+Cuas6GcMVoA1DncKfJGQkulHDFiTxIROIBmedh9/otHWBlZ4HqYZ4MQ1A8W5quULkXwX/kF+UdRBUxFvjigibEbuHB+LARVxRRzFlPnTSE9rAfAv8OOEsb3lNUGT/IGhN8w1vwe8GclB90tgqN1RBDgrVqwLFwn5AfrW9kUIa2f2oT4RjYu1OrhKhVIIzfHADo85aD+s8wEhqwI96BCJG3qTWrypoHwBUoj1O6Ak5CGc1iKz9o8XyTMjudRt2ddCjfOtxsuwSlTbVtQXJGIpgKviX1sgh4pPvGh7BVAFP+mdAK4F+mEugDnuj47GO/K5KGGDRCL56kh9+h28l4q/+fZvp7DhtmSN2EzrVAdQFskF8yY/6Xit/aAvjeKm03DcjbylSXbG26EJefaLHlwYFq2mUFRMak25wuuCZS71GF3RC3Sl/bMoxBKRYkyfYtGafeaYTFNGn8Dbd+hfVUCz31ebI8cvmlQR5b5AbCre3T7HTVgw8FKbAxWRf1Fio56PnqHsj+sT1KVj255Zo1F8iD9GrgERSVAlkh5bY/CKszQ8ZSd01c9Qp2a47/gR7XAAbxhzGHP+cSOlrqDlJ24fbPtcpVsM0llqKUcxpmoOBFNboRmE1QqnSmAf9ww==",
50+
ghKeys.get(2).getKey());
51+
}
3052
}

0 commit comments

Comments
 (0)