Test that Rename does not overwrite, and PosixRename does
diff --git a/request-server_test.go b/request-server_test.go
index 1dcd648..0f4d113 100644
--- a/request-server_test.go
+++ b/request-server_test.go
@@ -340,29 +340,56 @@
 func TestRequestRename(t *testing.T) {
 	p := clientRequestServerPair(t)
 	defer p.Close()
+
 	_, err := putTestFile(p.cli, "/foo", "hello")
 	require.NoError(t, err)
-	r := p.testHandler()
-	_, err = r.fetch("/foo")
+	content, err := getTestFile(p.cli, "/foo")
 	require.NoError(t, err)
+	require.Equal(t, []byte("hello"), content)
+
 	err = p.cli.Rename("/foo", "/bar")
 	require.NoError(t, err)
-	f, err := r.fetch("/bar")
-	if err != nil {
-		t.Fatal("unexpected error:", err)
-	}
-	assert.Equal(t, "bar", f.Name())
-	_, err = r.fetch("/foo")
-	assert.Equal(t, os.ErrNotExist, err)
+
+	// file contents are now at /bar
+	content, err = getTestFile(p.cli, "/bar")
+	require.NoError(t, err)
+	require.Equal(t, []byte("hello"), content)
+
+	// /foo no longer exists
+	_, err = getTestFile(p.cli, "/foo")
+	require.Error(t, err)
+
+	_, err = putTestFile(p.cli, "/baz", "goodbye")
+	require.NoError(t, err)
+	content, err = getTestFile(p.cli, "/baz")
+	require.NoError(t, err)
+	require.Equal(t, []byte("goodbye"), content)
+
+	// SFTP-v2: SSH_FXP_RENAME may not overwrite existing files.
+	err = p.cli.Rename("/bar", "/baz")
+	require.Error(t, err)
+
+	// /bar and /baz are unchanged
+	content, err = getTestFile(p.cli, "/bar")
+	require.NoError(t, err)
+	require.Equal(t, []byte("hello"), content)
+	content, err = getTestFile(p.cli, "/baz")
+	require.NoError(t, err)
+	require.Equal(t, []byte("goodbye"), content)
+
+	// posix-rename@openssh.com extension allows overwriting existing files.
 	err = p.cli.PosixRename("/bar", "/baz")
 	require.NoError(t, err)
-	f, err = r.fetch("/baz")
-	if err != nil {
-		t.Fatal("unexpected error:", err)
-	}
-	assert.Equal(t, "baz", f.Name())
-	_, err = r.fetch("/bar")
-	assert.Equal(t, os.ErrNotExist, err)
+
+	// /baz now has the contents of /bar
+	content, err = getTestFile(p.cli, "/baz")
+	require.NoError(t, err)
+	require.Equal(t, []byte("hello"), content)
+
+	// /bar no longer exists
+	_, err = getTestFile(p.cli, "/bar")
+	require.Error(t, err)
+
 	checkRequestServerAllocator(t, p)
 }