@@ -601,6 +601,74 @@ public async Task GetOrganizationId_Retries_On_GQL_Error()
601
601
result . Should ( ) . Be ( orgId ) ;
602
602
}
603
603
604
+ [ Fact ]
605
+ public async Task GetOrganizationDatabaseId_Returns_The_Database_Id ( )
606
+ {
607
+ // Arrange
608
+ const string databaseId = "DATABASE_ID" ;
609
+
610
+ var url = $ "https://api.github.com/graphql";
611
+ var payload =
612
+ $ "{{\" query\" :\" query($login: String!) {{organization(login: $login) {{ login, databaseId, name }} }}\" ,\" variables\" :{{\" login\" :\" { GITHUB_ORG } \" }}}}";
613
+ var response = JObject . Parse ( $@ "
614
+ {{
615
+ ""data"": {{
616
+ ""organization"": {{
617
+ ""login"": ""{ GITHUB_ORG } "",
618
+ ""name"": ""github"",
619
+ ""databaseId"": ""{ databaseId } ""
620
+ }}
621
+ }}
622
+ }}" ) ;
623
+
624
+ _githubClientMock
625
+ . Setup ( m => m . PostGraphQLAsync ( url , It . Is < object > ( x => x . ToJson ( ) == payload ) , null ) )
626
+ . ReturnsAsync ( response ) ;
627
+
628
+ // Act
629
+ var result = await _githubApi . GetOrganizationDatabaseId ( GITHUB_ORG ) ;
630
+
631
+ // Assert
632
+ result . Should ( ) . Be ( databaseId ) ;
633
+ }
634
+
635
+ [ Fact ]
636
+ public async Task GetOrganizationDatabaseId_Retries_On_GQL_Error ( )
637
+ {
638
+ // Arrange
639
+ const string databaseId = "DATABASE_ID" ;
640
+
641
+ var url = $ "https://api.github.com/graphql";
642
+ var payload =
643
+ $ "{{\" query\" :\" query($login: String!) {{organization(login: $login) {{ login, databaseId, name }} }}\" ,\" variables\" :{{\" login\" :\" { GITHUB_ORG } \" }}}}";
644
+
645
+ var response = JObject . Parse ( $@ "
646
+ {{
647
+ ""data"":
648
+ {{
649
+ ""organization"":
650
+ {{
651
+ ""login"": ""{ GITHUB_ORG } "",
652
+ ""databaseId"": ""{ databaseId } "",
653
+ ""name"": ""github""
654
+ }}
655
+ }}
656
+ }}" ) ;
657
+
658
+ _githubClientMock
659
+ . SetupSequence ( m => m . PostGraphQLAsync ( url , It . Is < object > ( x => x . ToJson ( ) == payload ) , null ) )
660
+ . ReturnsAsync ( GQL_ERROR_RESPONSE )
661
+ . ReturnsAsync ( GQL_ERROR_RESPONSE )
662
+ . ReturnsAsync ( response ) ;
663
+
664
+ // Act
665
+ var result = await _githubApi . GetOrganizationDatabaseId ( GITHUB_ORG ) ;
666
+
667
+ // Assert
668
+ result . Should ( ) . Be ( databaseId ) ;
669
+ }
670
+
671
+
604
672
[ Fact ]
605
673
public async Task GetEnterpriseId_Returns_The_Enterprise_Id ( )
606
674
{
0 commit comments