Michael Hoennig
2022-11-25 db17a2e9903e4bb3aad7c8851af4811951c0bc42
commit | author | age
2eb8b7 1 ### hsadminNg Glossary
MH 2
3 This is a collection of terms used in this project, which either might not be generally known or unclear in meaning.
4 If you miss something, please add it with a `TODO` marker.
5
6 #### Blackbox-Test
7
8 A blackbox-test does not know and not consider such internals of an implementation, it just tests externally observable behaviour.
9
10
11 #### Business Object
12
13 Used in the RBAC-system to refer to an object from the business realm.
14 The usual term is *domain object* but in our context, the term *domain* could be too easily confused with a DNS *Internet domain*.  
15
16
17 #### Dummy
18
19 A *dummy* is a kind of *Test-Double* which replaces a real dependency which is not really needed in the test case.
20
21
22 #### Fake
23
24 A *fake* is a kind of *Test-Double*  without using any library, but rather a manual fake implementation of a dependency.
25
26
27 #### Mock
28
29 A *mock* is a kind of *Test-Double* which can be configured to behaviours as needed by a test-case.
30
31 Often the term "mock" is used in a generic way, because typical mocking libraries like *Mockito* can also be used as dummies or spies and can replace fakes.
32
33
34 #### RBAC
35
36 Abbreviation for *Role Based Access Control*.
37 A system to control access to business objects by defining users, roles, and permissions.
38 See also [The INCITS 359-2012 Standard](https://www.techstreet.com/standards/incits-359-2012?product_id=1837530).
39
40 In our case we are implementing a hierarchical RBAC for a hierarchical and dynamic business object structure.
41 More information can be found in our [RBAC Architecture Document](rbac.md).
42
43
44 #### Tenant
45
46 *Tenant* is one of the standard roles of Hostsharing's RBAC system.
47 It is assigned as a sub-role to those who have rights on sub-objects of a business object.
48 Usually, tenants can only view the contents.
49
50 Generally, tenant roles only apply for the mere existence, id and name of a business object,
51 not for internal details.
52 E.g. a tenant of a customer could be the administrator of a hosting package of that customer.
53 They can view some identifying information of that customer, but not view their billing and banking information.
54
55
56 #### Whitebox-Test
57
58 A whitebox-test knows and considers the internals of an implementation, e.g. it knows which dependencies it needs and can test special, implementation-dependent cases.
59
60
61 #### Test-Double
62
63 A "double" is a general term for something which replaces a real implementation of a dependency of the unit under test.
64 This can be a "dummy", a "fake", a "mock", a "spy" or a "stub".
433d0e 65
MH 66
67 #### Test-Fixture
68
69 Generally a test-fixture refers to all code within a test 
70 which is needed to setup the test environment and extract results, 
71 but which is not part of the test-cases.
72
73 In other words: The code which is needed to bind test-cases to the actual unit under test,
74 is called test-fixture.