diff --git a/test/vpd-manager-test/editor_test.cpp b/test/vpd-manager-test/editor_test.cpp
index 2f7114a..1549df8 100644
--- a/test/vpd-manager-test/editor_test.cpp
+++ b/test/vpd-manager-test/editor_test.cpp
@@ -87,7 +87,7 @@
     {
         // Invalid kwd name
         EditorImpl edit("VINI", "SN", std::move(emptyVpdFile));
-        edit.updateKeyword(dataToUodate);
+        edit.updateKeyword(dataToUodate, true);
     }
     catch (const std::exception& e)
     {
@@ -105,7 +105,7 @@
     {
         // the path is dummy
         EditorImpl edit("VINI", "SN", std::move(vpd));
-        edit.updateKeyword(dataToUodate);
+        edit.updateKeyword(dataToUodate, true);
     }
     catch (const std::exception& e)
     {
@@ -124,7 +124,7 @@
     {
         // Invalid record name "VIN", path is dummy
         EditorImpl edit("VIN", "SN", std::move(vpd));
-        edit.updateKeyword(dataToUodate);
+        edit.updateKeyword(dataToUodate, true);
     }
     catch (const std::exception& e)
     {
@@ -143,7 +143,7 @@
     {
         // All valid data
         EditorImpl edit("VINI", "Sn", std::move(vpd));
-        edit.updateKeyword(dataToUodate);
+        edit.updateKeyword(dataToUodate, true);
     }
     catch (std::runtime_error& e)
     {
@@ -162,7 +162,7 @@
     {
         // All valid data
         EditorImpl edit("VINI", "SN", std::move(vpd));
-        edit.updateKeyword(dataToUodate);
+        edit.updateKeyword(dataToUodate, true);
     }
     catch (std::runtime_error& e)
     {
@@ -176,4 +176,4 @@
     ::testing::InitGoogleTest(&argc, argv);
 
     return RUN_ALL_TESTS();
-}
\ No newline at end of file
+}
