diff --git a/tests/libpldm_firmware_update_test.cpp b/tests/libpldm_firmware_update_test.cpp
index c42381c..76c5814 100644
--- a/tests/libpldm_firmware_update_test.cpp
+++ b/tests/libpldm_firmware_update_test.cpp
@@ -1278,6 +1278,7 @@
                         outPendingCompVerStr.length));
 }
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamDevices, goodPathEncodeRequest)
 {
     constexpr uint8_t instanceId = 1;
@@ -1292,7 +1293,9 @@
     EXPECT_EQ(requestPtr->hdr.type, PLDM_FWUP);
     EXPECT_EQ(requestPtr->hdr.command, PLDM_QUERY_DOWNSTREAM_DEVICES);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamDevices, encodeRequestInvalidData)
 {
     constexpr uint8_t instanceId = 1;
@@ -1301,7 +1304,9 @@
 
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamDevices, goodPathDecodeResponse)
 {
     uint8_t completion_code_resp = PLDM_SUCCESS;
@@ -1347,7 +1352,9 @@
               max_number_of_downstream_devices_resp);
     EXPECT_EQ(resp_data.capabilities.value, capabilities_resp.value);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamDevices, decodeRequestUndefinedValue)
 {
     uint8_t completion_code_resp = PLDM_SUCCESS;
@@ -1384,7 +1391,9 @@
 
     ASSERT_EQ(rc, PLDM_ERROR_INVALID_DATA);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamDevices, decodeRequestErrorBufSize)
 {
     uint8_t completion_code_resp = PLDM_SUCCESS;
@@ -1424,7 +1433,9 @@
 
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_LENGTH);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamIdentifiers, goodPathEncodeRequest)
 {
     constexpr uint8_t instanceId = 1;
@@ -1444,7 +1455,9 @@
         expectedReq{0x81, 0x05, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0x01};
     EXPECT_EQ(requestMsg, expectedReq);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamIdentifiers, encodeRequestInvalidErrorPaths)
 {
     constexpr uint8_t instanceId = 1;
@@ -1472,7 +1485,9 @@
                                                  requestPtr, payload_length);
     EXPECT_EQ(rc, PLDM_INVALID_TRANSFER_OPERATION_FLAG);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamIdentifiers, goodPathDecodeResponse)
 {
     // Len is not fixed here taking it as 9, constains 1 downstream device with
@@ -1533,7 +1548,9 @@
                              PLDM_QUERY_DOWNSTREAM_IDENTIFIERS_RESP_MIN_LEN,
                          responseMsg.end()));
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamIdentifiers, decodeRequestErrorPaths)
 {
     std::array<uint8_t, hdrSize + sizeof(uint8_t)> responseMsg{};
@@ -1560,7 +1577,9 @@
 
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_LENGTH);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamIdentifiers, decodeRequestErrorDownstreamDevicesSize)
 {
     // Len is not fixed here taking it as 9, constains 1 downstream device with
@@ -1622,7 +1641,9 @@
         "");
 #endif
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(QueryDownstreamIdentifiers, decodeRequestErrorBufSize)
 {
     constexpr uint32_t actualDownstreamDevicesLen = 0;
@@ -1661,6 +1682,7 @@
 
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_LENGTH);
 }
+#endif
 
 TEST(RequestUpdate, goodPathEncodeRequest)
 {
diff --git a/tests/libpldm_platform_test.cpp b/tests/libpldm_platform_test.cpp
index be08201..c260b10 100644
--- a/tests/libpldm_platform_test.cpp
+++ b/tests/libpldm_platform_test.cpp
@@ -4138,6 +4138,7 @@
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_LENGTH);
 }
 
+#ifdef LIBPLDM_API_TESTING
 TEST(decodeNumericEffecterPdrData, Uint8Test)
 {
     std::vector<uint8_t> pdr1{
@@ -4249,7 +4250,9 @@
     EXPECT_EQ(90, decodedPdr.rated_max.value_u8);
     EXPECT_EQ(10, decodedPdr.rated_min.value_u8);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(decodeNumericEffecterPdrData, Sint8Test)
 {
     std::vector<uint8_t> pdr1{
@@ -4336,7 +4339,9 @@
     EXPECT_EQ(30, decodedPdr.rated_max.value_s8);
     EXPECT_EQ(-30, decodedPdr.rated_min.value_s8);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(decodeNumericEffecterPdrData, Uint16Test)
 {
     std::vector<uint8_t> pdr1{
@@ -4431,7 +4436,9 @@
     EXPECT_EQ(9000, decodedPdr.rated_max.value_u16);
     EXPECT_EQ(1000, decodedPdr.rated_min.value_u16);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(decodeNumericEffecterPdrData, Sint16Test)
 {
     std::vector<uint8_t> pdr1{
@@ -4526,7 +4533,9 @@
     EXPECT_EQ(3000, decodedPdr.rated_max.value_s16);
     EXPECT_EQ(-3000, decodedPdr.rated_min.value_s16);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(decodeNumericEffecterPdrData, Uint32Test)
 {
     std::vector<uint8_t> pdr1{
@@ -4635,7 +4644,9 @@
     EXPECT_EQ(9000000, decodedPdr.rated_max.value_u32);
     EXPECT_EQ(1000000, decodedPdr.rated_min.value_u32);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(decodeNumericEffecterPdrData, Sint32Test)
 {
     std::vector<uint8_t> pdr1{
@@ -4743,7 +4754,9 @@
     EXPECT_EQ(3000000, decodedPdr.rated_max.value_s32);
     EXPECT_EQ(-3000000, decodedPdr.rated_min.value_s32);
 }
+#endif
 
+#ifdef LIBPLDM_API_TESTING
 TEST(decodeNumericEffecterPdrData, Real32Test)
 {
     std::vector<uint8_t> pdr1{
@@ -4855,3 +4868,4 @@
     EXPECT_FLOAT_EQ(300.003f, decodedPdr.rated_max.value_f32);
     EXPECT_FLOAT_EQ(-300.003f, decodedPdr.rated_min.value_f32);
 }
+#endif
