File tree Expand file tree Collapse file tree 3 files changed +95
-0
lines changed
Expand file tree Collapse file tree 3 files changed +95
-0
lines changed Original file line number Diff line number Diff line change 1+ ##########
2+ Statistics
3+ ##########
4+
5+ Reference
6+ ---------
7+
8+ * v4 API:
9+
10+ + :class: `gitlab.v4.objects.ApplicationStatistics `
11+ + :class: `gitlab.v4.objects.ApplicationStatisticsManager `
12+ + :attr: `gitlab.Gitlab.statistics `
13+
14+ * GitLab API: https://docs.gitlab.com/ee/api/statistics.html
15+
16+ Examples
17+ --------
18+
19+ Get the statistics::
20+
21+ statistics = gl.statistics.get()
Original file line number Diff line number Diff line change 1+ """
2+ GitLab API: https://docs.gitlab.com/ee/api/statistics.html
3+ """
4+
5+
6+ def test_get_statistics (gl , resp_application_statistics ):
7+ gl .projects .create ({"name" : "admin_project" })
8+ gl .users .create (
9+ {
10+ "email" : "user@test.com" ,
11+ "username" : "user" ,
12+ "name" : "user" ,
13+ "password" : "user_pass" ,
14+ }
15+ )
16+ gl .groups .create ({"name" : "gitlab-test-group1" , "path" : "gitlab-test-group1" })
17+ gl .snippets .create (
18+ {"title" : "snippet1" , "file_name" : "snippet1.py" , "content" : "import gitlab" }
19+ )
20+
21+ statistics = gl .statistics .get ()
22+ assert statistics .snippets == 1
23+ assert statistics .users == 1
24+ assert statistics .groups == 1
25+ assert statistics .projects == 1
Original file line number Diff line number Diff line change 1+ """
2+ GitLab API: https://docs.gitlab.com/ee/api/statistics.html
3+ """
4+
5+ import pytest
6+ import responses
7+
8+ content = {
9+ "forks" : "10" ,
10+ "issues" : "76" ,
11+ "merge_requests" : "27" ,
12+ "notes" : "954" ,
13+ "snippets" : "50" ,
14+ "ssh_keys" : "10" ,
15+ "milestones" : "40" ,
16+ "users" : "50" ,
17+ "groups" : "10" ,
18+ "projects" : "20" ,
19+ "active_users" : "50" ,
20+ }
21+
22+
23+ @pytest .fixture
24+ def resp_application_statistics ():
25+
26+ with responses .RequestsMock (assert_all_requests_are_fired = False ) as rsps :
27+ rsps .add (
28+ method = responses .GET ,
29+ url = "http://localhost/api/v4/application/statistics" ,
30+ json = content ,
31+ content_type = "application/json" ,
32+ status = 200 ,
33+ )
34+
35+ yield rsps
36+
37+
38+ def test_get_statistics (gl , resp_application_statistics ):
39+ statistics = gl .statistics .get ()
40+ assert statistics .forks == content ["forks" ]
41+ assert statistics .merge_requests == content ["merge_requests" ]
42+ assert statistics .notes == content ["notes" ]
43+ assert statistics .snippets == content ["snippets" ]
44+ assert statistics .ssh_keys == content ["ssh_keys" ]
45+ assert statistics .milestones == content ["milestones" ]
46+ assert statistics .users == content ["users" ]
47+ assert statistics .groups == content ["groups" ]
48+ assert statistics .projects == content ["projects" ]
49+ assert statistics .active_users == content ["active_users" ]
You can’t perform that action at this time.
0 commit comments