@@ -238,6 +238,95 @@ TEST_F(StreamApiTest, insertKinesisVideoTag_NULL_Invalid)
238238 EXPECT_NE (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , tagValue, FALSE ));
239239 EXPECT_NE (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , tagName, tagValue, TRUE ));
240240 EXPECT_NE (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , tagName, tagValue, FALSE ));
241+
242+ // Validate the negative case with state
243+ EXPECT_EQ (STATUS_INVALID_STREAM_STATE, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , TRUE ));
244+ EXPECT_EQ (STATUS_INVALID_STREAM_STATE, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , FALSE ));
245+ }
246+
247+
248+ TEST_F (StreamApiTest, insertKinesisVideoTag_Invalid_Name)
249+ {
250+ // Create and ready stream
251+ ReadyStream ();
252+
253+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWS" , " Tag Value" , FALSE ));
254+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWS" , " Tag Value" , TRUE ));
255+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWS " , " Tag Value" , FALSE ));
256+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWS " , " Tag Value" , TRUE ));
257+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWSTag" , " Tag Value" , FALSE ));
258+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWSTag" , " Tag Value" , TRUE ));
259+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWS:" , " Tag Value" , FALSE ));
260+ EXPECT_EQ (STATUS_INVALID_METADATA_NAME, putKinesisVideoFragmentMetadata (mStreamHandle , " AWS:" , " Tag Value" , TRUE ));
261+
262+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , " aWS" , " Tag Value" , FALSE ));
263+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , " aWS" , " Tag Value" , TRUE ));
264+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , " aws" , " Tag Value" , FALSE ));
265+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , " aws" , " Tag Value" , TRUE ));
266+ }
267+
268+ TEST_F (StreamApiTest, insertKinesisVideoTag_Stream_State_Error) {
269+ // Create the stream which is not yet in ready state
270+ CreateStream ();
271+
272+ // Should throw stream state error
273+ EXPECT_EQ (STATUS_INVALID_STREAM_STATE, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , TRUE ));
274+ EXPECT_EQ (STATUS_INVALID_STREAM_STATE, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , FALSE ));
275+ }
276+
277+ TEST_F (StreamApiTest, insertKinesisVideoTag_Non_Persistent_Count) {
278+ UINT32 i;
279+ CHAR tagName[MKV_MAX_TAG_NAME_LEN + 1 ];
280+ CHAR tagValue[MKV_MAX_TAG_VALUE_LEN + 1 ];
281+
282+ // Create and ready a stream
283+ ReadyStream ();
284+
285+ for (i = 0 ; i < MAX_FRAGMENT_METADATA_COUNT; i++) {
286+ SPRINTF (tagName, " tagName_%d" , i);
287+ SPRINTF (tagValue, " tagValue_%d" , i);
288+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , tagName, tagValue, FALSE ));
289+ }
290+
291+ // Adding one more will cause a limit error
292+ EXPECT_EQ (STATUS_MAX_FRAGMENT_METADATA_COUNT, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , FALSE ));
293+ }
294+
295+ TEST_F (StreamApiTest, insertKinesisVideoTag_Persistent_Count) {
296+ UINT32 i;
297+ CHAR tagName[MKV_MAX_TAG_NAME_LEN + 1 ];
298+ CHAR tagValue[MKV_MAX_TAG_VALUE_LEN + 1 ];
299+
300+ // Create and ready a stream
301+ ReadyStream ();
302+
303+ for (i = 0 ; i < MAX_FRAGMENT_METADATA_COUNT; i++) {
304+ SPRINTF (tagName, " tagName_%d" , i);
305+ SPRINTF (tagValue, " tagValue_%d" , i);
306+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , tagName, tagValue, TRUE ));
307+ }
308+
309+ // Adding one more will cause a limit error
310+ EXPECT_EQ (STATUS_MAX_FRAGMENT_METADATA_COUNT, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , TRUE ));
311+ }
312+
313+ TEST_F (StreamApiTest, insertKinesisVideoTag_Mixed_Count) {
314+ UINT32 i;
315+ CHAR tagName[MKV_MAX_TAG_NAME_LEN + 1 ];
316+ CHAR tagValue[MKV_MAX_TAG_VALUE_LEN + 1 ];
317+
318+ // Create and ready a stream
319+ ReadyStream ();
320+
321+ for (i = 0 ; i < MAX_FRAGMENT_METADATA_COUNT; i++) {
322+ SPRINTF (tagName, " tagName_%d" , i);
323+ SPRINTF (tagValue, " tagValue_%d" , i);
324+ EXPECT_EQ (STATUS_SUCCESS, putKinesisVideoFragmentMetadata (mStreamHandle , tagName, tagValue, i % 2 == 0 ));
325+ }
326+
327+ // Adding one more will cause a limit error
328+ EXPECT_EQ (STATUS_MAX_FRAGMENT_METADATA_COUNT, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , TRUE ));
329+ EXPECT_EQ (STATUS_MAX_FRAGMENT_METADATA_COUNT, putKinesisVideoFragmentMetadata (mStreamHandle , " tagName" , " tagValue" , FALSE ));
241330}
242331
243332TEST_F (StreamApiTest, kinesisVideoGetData_NULL_Invalid)
0 commit comments