diff --git a/src/main/java/net/kemitix/gitdb/impl/GitDBTransactionImpl.java b/src/main/java/net/kemitix/gitdb/impl/GitDBTransactionImpl.java index d468567..28687d9 100644 --- a/src/main/java/net/kemitix/gitdb/impl/GitDBTransactionImpl.java +++ b/src/main/java/net/kemitix/gitdb/impl/GitDBTransactionImpl.java @@ -25,6 +25,7 @@ import com.github.zafarkhaja.semver.Version; import net.kemitix.gitdb.GitDBBranch; import net.kemitix.gitdb.GitDBTransaction; +import java.io.IOException; import java.util.Optional; /** @@ -48,8 +49,8 @@ class GitDBTransactionImpl implements GitDBTransaction { } @Override - public GitDBBranch put(String key, String value) { - return null; + public GitDBBranch put(String key, String value) throws IOException { + return branch.put(key, value); } @Override diff --git a/src/test/java/net/kemitix/gitdb/test/GitDBTest.java b/src/test/java/net/kemitix/gitdb/test/GitDBTest.java index 79f7a76..10399bf 100644 --- a/src/test/java/net/kemitix/gitdb/test/GitDBTest.java +++ b/src/test/java/net/kemitix/gitdb/test/GitDBTest.java @@ -381,6 +381,19 @@ class GitDBTest implements WithAssertions { } // When putting an existing key/value pair then the original GitDbBranch finds the original value + @Test + void putValue_whenTransaction_thenUpdatedBranchFinds() throws IOException { + //given + final GitDBBranch originalBranch = gitDBBranch(); + final GitDBTransaction transaction = originalBranch.transaction(); + final String key = stringSupplier.get(); + final String value = stringSupplier.get(); + //when + final GitDBBranch updatedBranch = transaction.put(key, value); + //then + assertThat(updatedBranch.get(key)).contains(value); + } + // When removing a key then the original GitDbBRanch still finds it // Given a GitDbTransaction handle with a added, updated and removed keys