@@ -8,58 +8,181 @@ namespace {
8
8
9
9
class MoQTrackTest : public testing ::Test {
10
10
public:
11
- protected:
12
- MoQTrackTest () {}
11
+ void CreatDefaultTrackNamespace () {
12
+ track_.trackNamespace = {
13
+ " moq-test-00" ,
14
+ " 0" ,
15
+ " 0" ,
16
+ " 0" ,
17
+ " 10" ,
18
+ " 1" ,
19
+ " 1" ,
20
+ " 1" ,
21
+ " 1" ,
22
+ " 1" ,
23
+ " 1" ,
24
+ " 1" ,
25
+ " 0" ,
26
+ " 0" ,
27
+ " 0" ,
28
+ " 0" };
29
+ }
13
30
14
- moxygen::MoQTestParameters track_;
31
+ void CreateDefaultMoQTestParameters () {
32
+ params_.forwardingPreference = moxygen::ForwardingPreference (0 );
33
+ params_.startGroup = 0 ;
34
+ params_.startObject = 0 ;
35
+ params_.lastGroupInTrack = 10 ;
36
+ params_.lastObjectInTrack = 1 ;
37
+ params_.objectsPerGroup = 1 ;
38
+ params_.sizeOfObjectZero = 1 ;
39
+ params_.sizeOfObjectGreaterThanZero = 1 ;
40
+ params_.objectFrequency = 1 ;
41
+ params_.groupIncrement = 1 ;
42
+ params_.objectIncrement = 1 ;
43
+ params_.sendEndOfGroupMarkers = false ;
44
+ params_.testIntegerExtension = false ;
45
+ params_.testVariableExtension = false ;
46
+ params_.publisherDeliveryTimeout = 0 ;
47
+ }
48
+
49
+ moxygen::MoQTestParameters params_;
50
+ moxygen::TrackNamespace track_;
15
51
};
16
52
17
53
} // namespace
18
54
55
+ // MoQTestParameters Validation Function Tests
19
56
TEST_F (MoQTrackTest, testValidateTrackNamespaceAsDefault) {
20
- EXPECT_NO_THROW (moxygen::validateMoQTestParameters (&track_ ));
57
+ EXPECT_NO_THROW (moxygen::validateMoQTestParameters (¶ms_ ));
21
58
}
22
59
23
60
TEST_F (MoQTrackTest, testInvalidForwardPreference) {
24
- track_ .forwardingPreference = moxygen::ForwardingPreference (4 );
25
- auto validateResult = moxygen::validateMoQTestParameters (&track_ );
61
+ params_ .forwardingPreference = moxygen::ForwardingPreference (4 );
62
+ auto validateResult = moxygen::validateMoQTestParameters (¶ms_ );
26
63
EXPECT_TRUE (validateResult.hasError ());
27
64
}
28
65
29
66
TEST_F (MoQTrackTest, testStartGroupGreaterThanLastGroup) {
30
- track_ .startGroup = 4 ;
31
- track_ .lastGroupInTrack = 3 ;
32
- auto validateResult = moxygen::validateMoQTestParameters (&track_ );
67
+ params_ .startGroup = 4 ;
68
+ params_ .lastGroupInTrack = 3 ;
69
+ auto validateResult = moxygen::validateMoQTestParameters (¶ms_ );
33
70
EXPECT_TRUE (validateResult.hasError ());
34
71
}
35
72
36
73
TEST_F (MoQTrackTest, testStartObjectGreaterThanLastObject) {
37
- track_ .startObject = 4 ;
38
- track_ .lastObjectInTrack = 3 ;
39
- auto validateResult = moxygen::validateMoQTestParameters (&track_ );
74
+ params_ .startObject = 4 ;
75
+ params_ .lastObjectInTrack = 3 ;
76
+ auto validateResult = moxygen::validateMoQTestParameters (¶ms_ );
40
77
EXPECT_TRUE (validateResult.hasError ());
41
78
}
42
79
43
80
TEST_F (MoQTrackTest, testLastGroupGreaterThanAllowedMaximum) {
44
- track_ .lastGroupInTrack = static_cast <uint64_t >(pow (2 , 62 ));
45
- auto validateResult = moxygen::validateMoQTestParameters (&track_ );
81
+ params_ .lastGroupInTrack = static_cast <uint64_t >(pow (2 , 62 ));
82
+ auto validateResult = moxygen::validateMoQTestParameters (¶ms_ );
46
83
EXPECT_TRUE (validateResult.hasError ());
47
84
}
48
85
49
86
TEST_F (MoQTrackTest, testLastObjectGreaterThanAllowedMaximum) {
50
- track_ .lastObjectInTrack = 10000 ;
51
- auto validateResult = moxygen::validateMoQTestParameters (&track_ );
87
+ params_ .lastObjectInTrack = 10000 ;
88
+ auto validateResult = moxygen::validateMoQTestParameters (¶ms_ );
52
89
EXPECT_TRUE (validateResult.hasError ());
53
90
}
54
91
55
92
TEST_F (MoQTrackTest, testGroupIncrementAsZero) {
56
- track_ .groupIncrement = 0 ;
57
- auto validateResult = moxygen::validateMoQTestParameters (&track_ );
93
+ params_ .groupIncrement = 0 ;
94
+ auto validateResult = moxygen::validateMoQTestParameters (¶ms_ );
58
95
EXPECT_TRUE (validateResult.hasError ());
59
96
}
60
97
61
98
TEST_F (MoQTrackTest, testObjectIncrementAsZero) {
62
- track_ .objectIncrement = 0 ;
63
- auto validateResult = moxygen::validateMoQTestParameters (&track_ );
99
+ params_ .objectIncrement = 0 ;
100
+ auto validateResult = moxygen::validateMoQTestParameters (¶ms_ );
64
101
EXPECT_TRUE (validateResult.hasError ());
65
102
}
103
+
104
+ // Convert TrackNamespace to MoQTestParameters Tests
105
+ TEST_F (MoQTrackTest, testConvertTrackNamespaceToMoQTestParameters) {
106
+ CreatDefaultTrackNamespace ();
107
+ auto params = moxygen::convertTrackNamespaceToMoqTestParam (&track_);
108
+ ASSERT_FALSE (params.hasError ());
109
+ EXPECT_EQ (
110
+ params.value ().forwardingPreference , moxygen::ForwardingPreference (0 ));
111
+ EXPECT_EQ (params.value ().startGroup , 0 );
112
+ EXPECT_EQ (params.value ().startObject , 0 );
113
+ EXPECT_EQ (params.value ().lastGroupInTrack , 10 );
114
+ EXPECT_EQ (params.value ().lastObjectInTrack , 1 );
115
+ EXPECT_EQ (params.value ().objectsPerGroup , 1 );
116
+ EXPECT_EQ (params.value ().sizeOfObjectZero , 1 );
117
+ EXPECT_EQ (params.value ().sizeOfObjectGreaterThanZero , 1 );
118
+ EXPECT_EQ (params.value ().objectFrequency , 1 );
119
+ EXPECT_EQ (params.value ().groupIncrement , 1 );
120
+ EXPECT_EQ (params.value ().objectIncrement , 1 );
121
+ EXPECT_EQ (params.value ().sendEndOfGroupMarkers , false );
122
+ EXPECT_EQ (params.value ().testIntegerExtension , false );
123
+ EXPECT_EQ (params.value ().testVariableExtension , false );
124
+ EXPECT_EQ (params.value ().publisherDeliveryTimeout , 0 );
125
+ }
126
+
127
+ TEST_F (
128
+ MoQTrackTest,
129
+ testConvertTrackNamespaceToMoQTestParametersWithInvalidProtocol) {
130
+ CreatDefaultTrackNamespace ();
131
+ track_.trackNamespace [0 ] = " moq-test-01" ;
132
+ auto params = moxygen::convertTrackNamespaceToMoqTestParam (&track_);
133
+ EXPECT_TRUE (params.hasError ());
134
+ }
135
+
136
+ TEST_F (MoQTrackTest, testConversionGivenTrackNamespaceWithInvalidLength) {
137
+ CreatDefaultTrackNamespace ();
138
+ track_.trackNamespace .resize (15 );
139
+ auto params = moxygen::convertTrackNamespaceToMoqTestParam (&track_);
140
+ EXPECT_TRUE (params.hasError ());
141
+ }
142
+
143
+ TEST_F (MoQTrackTest, testConversionWithInvalidEndParams) {
144
+ CreatDefaultTrackNamespace ();
145
+ track_.trackNamespace [1 ] = " 4" ;
146
+ auto params = moxygen::convertTrackNamespaceToMoqTestParam (&track_);
147
+ EXPECT_TRUE (params.hasError ());
148
+ }
149
+
150
+ TEST_F (MoQTrackTest, testConversionWithTrackNamespaceHavingNonDigitValues) {
151
+ CreatDefaultTrackNamespace ();
152
+ track_.trackNamespace [1 ] = " a" ;
153
+ auto params = moxygen::convertTrackNamespaceToMoqTestParam (&track_);
154
+ EXPECT_TRUE (params.hasError ());
155
+ }
156
+
157
+ // Test Conversion of MoQTestParameters to TrackNamespace
158
+ TEST_F (MoQTrackTest, testConvertMoQTestParametersToTrackNamespace) {
159
+ CreateDefaultMoQTestParameters ();
160
+ auto track = moxygen::convertMoqTestParamToTrackNamespace (¶ms_);
161
+ ASSERT_FALSE (track.hasError ());
162
+ EXPECT_EQ (track.value ().trackNamespace .size (), 16 );
163
+ EXPECT_EQ (track.value ().trackNamespace [0 ], " moq-test-00" );
164
+ EXPECT_EQ (track.value ().trackNamespace [1 ], " 0" );
165
+ EXPECT_EQ (track.value ().trackNamespace [2 ], " 0" );
166
+ EXPECT_EQ (track.value ().trackNamespace [3 ], " 0" );
167
+ EXPECT_EQ (track.value ().trackNamespace [4 ], " 10" );
168
+ EXPECT_EQ (track.value ().trackNamespace [5 ], " 1" );
169
+ EXPECT_EQ (track.value ().trackNamespace [6 ], " 1" );
170
+ EXPECT_EQ (track.value ().trackNamespace [7 ], " 1" );
171
+ EXPECT_EQ (track.value ().trackNamespace [8 ], " 1" );
172
+ EXPECT_EQ (track.value ().trackNamespace [9 ], " 1" );
173
+ EXPECT_EQ (track.value ().trackNamespace [10 ], " 1" );
174
+ EXPECT_EQ (track.value ().trackNamespace [11 ], " 1" );
175
+ EXPECT_EQ (track.value ().trackNamespace [12 ], " 0" );
176
+ EXPECT_EQ (track.value ().trackNamespace [13 ], " 0" );
177
+ EXPECT_EQ (track.value ().trackNamespace [14 ], " 0" );
178
+ EXPECT_EQ (track.value ().trackNamespace [15 ], " 0" );
179
+ }
180
+
181
+ TEST_F (
182
+ MoQTrackTest,
183
+ testConvertMoQTestParametersToTrackNamespaceWithInvalidParams) {
184
+ CreateDefaultMoQTestParameters ();
185
+ params_.lastObjectInTrack = 2 ;
186
+ auto track = moxygen::convertMoqTestParamToTrackNamespace (¶ms_);
187
+ EXPECT_TRUE (track.hasError ());
188
+ }
0 commit comments