@@ -154,7 +154,7 @@ fn respond_to_get_request_v1(mmds: &Mmds, request: Request) -> Response {
154
154
}
155
155
}
156
156
None => {
157
- // TODO: Increment a metric that will be added in an upcoming commit.
157
+ METRICS . mmds . rx_no_token . inc ( ) ;
158
158
}
159
159
}
160
160
@@ -169,6 +169,7 @@ fn respond_to_get_request_v2(mmds: &Mmds, request: Request) -> Response {
169
169
) {
170
170
Some ( ( _, token) ) => token,
171
171
None => {
172
+ METRICS . mmds . rx_no_token . inc ( ) ;
172
173
let error_msg = VmmMmdsError :: NoTokenProvided . to_string ( ) ;
173
174
return build_response (
174
175
request. http_version ( ) ,
@@ -554,9 +555,11 @@ mod tests {
554
555
MediaType :: ApplicationJson ,
555
556
) ;
556
557
let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
558
+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
557
559
let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
558
560
assert_eq ! ( actual_response, expected_response) ;
559
561
assert_eq ! ( prev_rx_invalid_token, METRICS . mmds. rx_invalid_token. count( ) ) ;
562
+ assert_eq ! ( prev_rx_no_token + 1 , METRICS . mmds. rx_no_token. count( ) ) ;
560
563
561
564
// Test valid v2 request.
562
565
let request = Request :: try_from (
@@ -581,9 +584,11 @@ mod tests {
581
584
MediaType :: ApplicationJson ,
582
585
) ;
583
586
let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
587
+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
584
588
let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
585
589
assert_eq ! ( actual_response, expected_response) ;
586
590
assert_eq ! ( prev_rx_invalid_token, METRICS . mmds. rx_invalid_token. count( ) ) ;
591
+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
587
592
588
593
// Test GET request with invalid token is accepted when v1 is configured.
589
594
let ( request, expected_response) = generate_request_and_expected_response (
@@ -593,12 +598,14 @@ mod tests {
593
598
MediaType :: ApplicationJson ,
594
599
) ;
595
600
let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
601
+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
596
602
let actual_response = convert_to_response ( mmds, request) ;
597
603
assert_eq ! ( actual_response, expected_response) ;
598
604
assert_eq ! (
599
605
prev_rx_invalid_token + 1 ,
600
606
METRICS . mmds. rx_invalid_token. count( )
601
607
) ;
608
+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
602
609
}
603
610
604
611
#[ test]
@@ -734,9 +741,11 @@ mod tests {
734
741
MediaType :: ApplicationJson ,
735
742
) ;
736
743
let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
744
+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
737
745
let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
738
746
assert_eq ! ( actual_response, expected_response) ;
739
747
assert_eq ! ( prev_rx_invalid_token, METRICS . mmds. rx_invalid_token. count( ) ) ;
748
+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
740
749
741
750
// Test invalid customer header value is ignored if not PUT request to /latest/api/token.
742
751
#[ rustfmt:: skip]
@@ -796,8 +805,10 @@ mod tests {
796
805
let mut expected_response = Response :: new ( Version :: Http10 , StatusCode :: Unauthorized ) ;
797
806
expected_response. set_content_type ( MediaType :: PlainText ) ;
798
807
expected_response. set_body ( Body :: new ( VmmMmdsError :: NoTokenProvided . to_string ( ) ) ) ;
808
+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
799
809
let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
800
810
assert_eq ! ( actual_response, expected_response) ;
811
+ assert_eq ! ( prev_rx_no_token + 1 , METRICS . mmds. rx_no_token. count( ) ) ;
801
812
802
813
// Create a new MMDS token that expires in one second.
803
814
let request = Request :: try_from (
@@ -830,12 +841,14 @@ mod tests {
830
841
expected_response. set_content_type ( MediaType :: PlainText ) ;
831
842
expected_response. set_body ( Body :: new ( VmmMmdsError :: InvalidToken . to_string ( ) ) ) ;
832
843
let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
844
+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
833
845
let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
834
846
assert_eq ! ( actual_response, expected_response) ;
835
847
assert_eq ! (
836
848
prev_rx_invalid_token + 1 ,
837
849
METRICS . mmds. rx_invalid_token. count( )
838
850
) ;
851
+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
839
852
840
853
// Wait for the second token to expire.
841
854
std:: thread:: sleep ( Duration :: from_secs ( 1 ) ) ;
0 commit comments