ReceivePackAdvertiseRefsHookTest#testSuccess: Open TransportLocal in t-w-r

Change-Id: I198ff2ff36de482445141b5ce489204a9c2f4933
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
This commit is contained in:
David Pursehouse 2018-03-14 13:05:41 +09:00
parent a9bbbc0965
commit 2de9b6c0bb
1 changed files with 19 additions and 17 deletions

View File

@ -199,6 +199,23 @@ public void advertiseRefs(UploadPack uploadPack)
assertFalse(haves.get().contains(P));
}
private TransportLocal newTransportLocalWithStrictValidation()
throws Exception {
return new TransportLocal(src, uriOf(dst), dst.getDirectory()) {
@Override
ReceivePack createReceivePack(final Repository db) {
db.close();
dst.incrementOpen();
final ReceivePack rp = super.createReceivePack(dst);
rp.setCheckReceivedObjects(true);
rp.setCheckReferencedObjectsAreReachable(true);
rp.setAdvertiseRefsHook(new HidePrivateHook());
return rp;
}
};
}
@Test
public void testSuccess() throws Exception {
// Manually force a delta of an object so we reuse it later.
@ -230,19 +247,7 @@ public void testSuccess() throws Exception {
// Push this new content to the remote, doing strict validation.
//
TransportLocal t = new TransportLocal(src, uriOf(dst), dst.getDirectory()) {
@Override
ReceivePack createReceivePack(final Repository db) {
db.close();
dst.incrementOpen();
final ReceivePack rp = super.createReceivePack(dst);
rp.setCheckReceivedObjects(true);
rp.setCheckReferencedObjectsAreReachable(true);
rp.setAdvertiseRefsHook(new HidePrivateHook());
return rp;
}
};
PushResult r;
RemoteRefUpdate u = new RemoteRefUpdate( //
src, //
R_MASTER, // src name
@ -251,12 +256,9 @@ ReceivePack createReceivePack(final Repository db) {
null, // local tracking branch
null // expected id
);
PushResult r;
try {
try (TransportLocal t = newTransportLocalWithStrictValidation()) {
t.setPushThin(true);
r = t.push(PM, Collections.singleton(u));
} finally {
t.close();
}
assertNotNull("have result", r);