Skip to content

Commit

Permalink
Add TC016 and 017
Browse files Browse the repository at this point in the history
  • Loading branch information
kkeian committed Jan 28, 2024
1 parent e5b510d commit 385fe4b
Showing 1 changed file with 39 additions and 7 deletions.
46 changes: 39 additions & 7 deletions eRINA_Tests/src/test_rina_unregister.adb
Original file line number Diff line number Diff line change
Expand Up @@ -23,43 +23,75 @@ package body Test_RINA_Unregister is
function Suite return AUnit.Test_Suites.Access_Test_Suite is
Name_014 : constant String := "TC-014";
Name_015 : constant String := "TC-015";
Name_016 : constant String := "TC-016";
Name_017 : constant String := "TC-017";
begin
Test_Suite.Add_Test (Caller.Create
(Name_014 & " Verify rina_unregister throws exception when DIF name empty", Test_Unregister_DIF_Name_Empty'Access));
(Name_014 & " Verify rina_unregister throws exception when DIF name is empty", Test_Unregister_DIF_Name_Empty'Access));
Test_Suite.Add_Test (Caller.Create
(Name_015 & " Verify rina_unregister throws exception when DIF name isn't already registered", Test_Unregister_DIF_Name_Not_Registered'Access));
Test_Suite.Add_Test (Caller.Create
(Name_016 & " Verify rina_unregister throws exception when application name is too long", Test_Unregister_App_Name_Too_Long'Access));
Test_Suite.Add_Test (Caller.Create
(Name_017 & " Verify rina_unregister throws exception when application name is empty", Test_Unregister_App_Name_Empty'Access));

return Test_Suite'Access;
end Suite;

--Test Case 014
procedure Test_Unregister_DIF_Name_Empty (Object : in out Test) is
DIF_Name : constant String := "";
App_Name : constant String := "Test App";
Unregister_Success : File_Descriptor := Invalid_FD;
Caused_Error : Boolean := False;
begin

Unregister_Success := RINA_Unregister (RINA_Dev_FD, DIF_Name, App_Name, 0);
Unregister_Success := RINA_Unregister (RINA_Dev_FD, DIF_Name, Application_Name, 0);
exception
when Exceptions.Bounded_Length_Expcetion =>
Caused_Error := True;

Assert (Caused_Error and Unregister_Success = Invalid_FD, "DIF_Name is empty");
end Test_Unregister_DIF_Name_Empty;

--Test Case 015
procedure Test_Unregister_DIF_Name_Not_Registered (Object : in out Test) is
DIF_Name : constant String := "Unique_DIF_Name";
App_Name : constant String := "Test App";
Unique_DIF_Name : constant String := "Unique_DIF_Name";
Unregister_Success : File_Descriptor := Invalid_FD;
Caused_Error : Boolean := False;
begin
Unregister_Success := RINA_Unregister (RINA_Dev_FD, DIF_Name, App_Name, 0);
Unregister_Success := RINA_Unregister (RINA_Dev_FD, Unique_DIF_Name, Application_Name, 0);
exception
when Exceptions.DIF_Registration_Failure =>
Caused_Error := True;

Assert (Caused_Error and Unregister_Success = Invalid_FD, "DIF_Name is not already registered");
end Test_Unregister_DIF_Name_Not_Registered;

-- TC 016
procedure Test_Unregister_App_Name_Too_Long (Object : in out Test) is
Long_App_Name : constant String := "this_application_name_is__waaaaaaaaaaaaaaaaaaaaaaaaaaaaaay_too_long_and_should_throw_and_exception_when_registration_is_attempted";
Unregister_Success : File_Descriptor := Invalid_FD;
Caused_Error : Boolean := False;
begin
Unregister_Success := RINA_Unregister (RINA_Dev_FD, DIF_Name, Long_App_Name, 0);
exception
when Exceptions.Bounded_Length_Expcetion =>
Caused_Error := True;

Assert (Caused_Error and Unregister_Success = Invalid_FD, "App name is too long");
end Test_Unregister_App_Name_Too_Long;

-- TC 017
procedure Test_Unregister_App_Name_Empty (Object : in out Test) is
Empty_App_Name : constant String := "";
Unregister_Success : File_Descriptor := Invalid_FD;
Caused_Error : Boolean := False;
begin
Unregister_Success := RINA_Register (RINA_Dev_FD, DIF_Name, Empty_App_Name, 0);
exception
when Exceptions.Bounded_Length_Expcetion =>
Caused_Error := True;

Assert (Caused_Error and Unregister_Success = Invalid_FD, "App name is empty");
end Test_Unregister_App_Name_Empty;

end Test_RINA_Unregister;

0 comments on commit 385fe4b

Please sign in to comment.