Skip to content

Commit b9fe8bd

Browse files
authored
Merge pull request #186 from moosetechnology/develop
Develop
2 parents d630b3e + 1188555 commit b9fe8bd

File tree

13 files changed

+576
-53
lines changed

13 files changed

+576
-53
lines changed

.github/workflows/ci-pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
app-id: ${{ secrets.AUTO_RENERAKU_APP_ID }}
4242
private-key: ${{ secrets.AUTO_RENERAKU_PRIVATE_KEY }}
4343
- name: AutoReneraku
44-
uses: badetitou/AutoReneraku@v1.0.8
44+
uses: badetitou/AutoReneraku@v1.0.10
4545
if: matrix.smalltalk == 'Moose64-12'
4646
with:
4747
pat: ${{ steps.generate-token.outputs.token }}

src/BaselineOfGitLabHealth/BaselineOfGitLabHealth.class.st

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ BaselineOfGitLabHealth >> defineDependencies: spec [
5050
spec
5151
baseline: 'GitlabAPI'
5252
with: [
53-
spec repository: 'github://Evref-BL/Gitlab-Pharo-API:develop' ].
54-
55-
spec baseline: 'BitbucketPharoAPI'
56-
with: [
57-
spec repository: 'github://Evref-BL/Bitbucket-Pharo-API:develop' ].
53+
spec repository: 'github://Evref-BL/Gitlab-Pharo-API:main' ].
5854

55+
spec
56+
baseline: 'BitbucketPharoAPI'
57+
with: [
58+
spec repository: 'github://Evref-BL/Bitbucket-Pharo-API:main' ]
5959
]
6060

6161
{ #category : #baselines }

src/BitBucketHealth-Model-Importer-Tests/BitBucketModelImporterTest.class.st

Lines changed: 229 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ BitBucketModelImporterTest >> testConvertBitBucketDiffToGitDiff [
4343
glhModel := GLHModel new name: 'test'.
4444

4545
bitBucketImporter := BitBucketModelImporter new
46-
bitBucketApi: bitBucketApi;
46+
repoApi: bitBucketApi;
4747
glhModel: glhModel.
4848

4949
diffs := bitBucketApi diffs.
@@ -74,7 +74,7 @@ BitBucketModelImporterTest >> testConvertBitBucketDiffToGitDiffNoHunks [
7474
glhModel := GLHModel new name: 'test'.
7575

7676
bitBucketImporter := BitBucketModelImporter new
77-
bitBucketApi: bitBucketApi;
77+
repoApi: bitBucketApi;
7878
glhModel: glhModel.
7979

8080
diffs := bitBucketApi diffsNohunks.
@@ -268,7 +268,9 @@ BitBucketModelImporterTest >> testImportCommitsOfProjectSinceUntil [
268268

269269
self assert: project repository commits size equals: 1.
270270
firstCommit := project repository commits first.
271-
self assert: firstCommit additions equals: 1
271+
self assert: firstCommit additions equals: 1.
272+
"ensure the a commit has a title at least base on its message"
273+
self assert: firstCommit title equals: 'WIP on feature 1'
272274
]
273275

274276
{ #category : #tests }
@@ -366,6 +368,28 @@ BitBucketModelImporterTest >> testImportCreatorOfCommitIfAlreadyExist [
366368
self assert: commit commitCreator equals: creator
367369
]
368370

371+
{ #category : #tests }
372+
BitBucketModelImporterTest >> testImportGroup [
373+
374+
| bitBucketApi glphModel bitBucketImporter group |
375+
bitBucketApi := BitBucketApiMock new.
376+
377+
glphModel := GLHModel new name: 'test'.
378+
379+
bitBucketImporter := BitBucketModelImporter new
380+
repoApi: bitBucketApi;
381+
glhModel: glphModel.
382+
383+
"When"
384+
group := bitBucketImporter importGroup: 'cs'.
385+
386+
"Then"
387+
self assert: (glphModel allWithType: GLHGroup) size equals: 1.
388+
self
389+
assertCollection: (glphModel allWithType: GLHGroup)
390+
hasSameElements: { group }
391+
]
392+
369393
{ #category : #tests }
370394
BitBucketModelImporterTest >> testImportMergeRequestCommits [
371395

@@ -393,6 +417,171 @@ BitBucketModelImporterTest >> testImportMergeRequestCommits [
393417
self assert: mergeRequest commits first additions equals: 1
394418
]
395419

420+
{ #category : #tests }
421+
BitBucketModelImporterTest >> testImportMergeRequestStats [
422+
423+
| bitBucketApi glphModel bitBucketImporter mergeRequest commit |
424+
"Given"
425+
bitBucketApi := BitBucketApiMock new.
426+
glphModel := GLHModel new name: 'test'.
427+
bitBucketImporter := BitBucketModelImporter new
428+
repoApi: bitBucketApi;
429+
glhModel: glphModel.
430+
mergeRequest := bitBucketImporter
431+
parsePullRequestIntoGLPHEMergeRequest:
432+
bitBucketApi mergedMergeRequest.
433+
commit := GLHCommit new.
434+
glphModel add: commit.
435+
mergeRequest mergedCommit: commit.
436+
437+
438+
"When"
439+
bitBucketImporter importMergeRequestStats: mergeRequest.
440+
441+
"Then"
442+
self deny: mergeRequest mergedCommit equals: nil.
443+
self assert: mergeRequest mergedCommit additions equals: 1.
444+
self assert: mergeRequest mergedCommit deletions equals: 1
445+
]
446+
447+
{ #category : #tests }
448+
BitBucketModelImporterTest >> testImportMergeRequestStats0Computed [
449+
450+
| bitBucketApi glphModel bitBucketImporter mergeRequest commit |
451+
"Given"
452+
bitBucketApi := BitBucketApiMock new.
453+
glphModel := GLHModel new name: 'test'.
454+
bitBucketImporter := BitBucketModelImporter new
455+
repoApi: bitBucketApi;
456+
glhModel: glphModel.
457+
mergeRequest := bitBucketImporter
458+
parsePullRequestIntoGLPHEMergeRequest:
459+
bitBucketApi mergedMergeRequest.
460+
commit := GLHCommit new.
461+
glphModel add: commit.
462+
commit additions: 0.
463+
commit deletions: 0.
464+
mergeRequest mergedCommit: commit.
465+
466+
467+
"When"
468+
bitBucketImporter importMergeRequestStats: mergeRequest.
469+
470+
"Then"
471+
self deny: mergeRequest mergedCommit equals: nil.
472+
self assert: mergeRequest mergedCommit additions equals: 1.
473+
self assert: mergeRequest mergedCommit deletions equals: 1
474+
]
475+
476+
{ #category : #tests }
477+
BitBucketModelImporterTest >> testImportMergeRequestStatsAlreadyComputed [
478+
479+
| bitBucketApi glphModel bitBucketImporter mergeRequest commit |
480+
"Given"
481+
bitBucketApi := BitBucketApiMock new.
482+
glphModel := GLHModel new name: 'test'.
483+
bitBucketImporter := BitBucketModelImporter new
484+
repoApi: bitBucketApi;
485+
glhModel: glphModel.
486+
mergeRequest := bitBucketImporter
487+
parsePullRequestIntoGLPHEMergeRequest:
488+
bitBucketApi mergedMergeRequest.
489+
commit := GLHCommit new.
490+
glphModel add: commit.
491+
commit additions: 42.
492+
commit deletions: 24.
493+
mergeRequest mergedCommit: commit.
494+
495+
496+
"When"
497+
bitBucketImporter importMergeRequestStats: mergeRequest.
498+
499+
"Then"
500+
self deny: mergeRequest mergedCommit equals: nil.
501+
self assert: mergeRequest mergedCommit additions equals: 42.
502+
self assert: mergeRequest mergedCommit deletions equals: 24
503+
]
504+
505+
{ #category : #tests }
506+
BitBucketModelImporterTest >> testImportMergeRequestStatsAlreadyComputedAdditionsStatOnly [
507+
508+
| bitBucketApi glphModel bitBucketImporter mergeRequest commit |
509+
"Given"
510+
bitBucketApi := BitBucketApiMock new.
511+
glphModel := GLHModel new name: 'test'.
512+
bitBucketImporter := BitBucketModelImporter new
513+
repoApi: bitBucketApi;
514+
glhModel: glphModel.
515+
mergeRequest := bitBucketImporter
516+
parsePullRequestIntoGLPHEMergeRequest:
517+
bitBucketApi mergedMergeRequest.
518+
commit := GLHCommit new.
519+
glphModel add: commit.
520+
commit additions: 42.
521+
commit deletions: 0.
522+
mergeRequest mergedCommit: commit.
523+
524+
525+
"When"
526+
bitBucketImporter importMergeRequestStats: mergeRequest.
527+
528+
"Then"
529+
self deny: mergeRequest mergedCommit equals: nil.
530+
self assert: mergeRequest mergedCommit additions equals: 42.
531+
self assert: mergeRequest mergedCommit deletions equals: 0
532+
]
533+
534+
{ #category : #tests }
535+
BitBucketModelImporterTest >> testImportMergeRequestStatsAlreadyComputedDeletionsStatOnly [
536+
537+
| bitBucketApi glphModel bitBucketImporter mergeRequest commit |
538+
"Given"
539+
bitBucketApi := BitBucketApiMock new.
540+
glphModel := GLHModel new name: 'test'.
541+
bitBucketImporter := BitBucketModelImporter new
542+
repoApi: bitBucketApi;
543+
glhModel: glphModel.
544+
mergeRequest := bitBucketImporter
545+
parsePullRequestIntoGLPHEMergeRequest:
546+
bitBucketApi mergedMergeRequest.
547+
commit := GLHCommit new.
548+
glphModel add: commit.
549+
commit additions: 0.
550+
commit deletions: 24.
551+
mergeRequest mergedCommit: commit.
552+
553+
554+
"When"
555+
bitBucketImporter importMergeRequestStats: mergeRequest.
556+
557+
"Then"
558+
self deny: mergeRequest mergedCommit equals: nil.
559+
self assert: mergeRequest mergedCommit additions equals: 0.
560+
self assert: mergeRequest mergedCommit deletions equals: 24
561+
]
562+
563+
{ #category : #tests }
564+
BitBucketModelImporterTest >> testImportMergeRequestStatsNoMergedCommit [
565+
566+
| bitBucketApi glphModel bitBucketImporter mergeRequest |
567+
"Given"
568+
bitBucketApi := BitBucketApiMock new.
569+
glphModel := GLHModel new name: 'test'.
570+
bitBucketImporter := BitBucketModelImporter new
571+
repoApi: bitBucketApi;
572+
glhModel: glphModel.
573+
mergeRequest := bitBucketImporter
574+
parsePullRequestIntoGLPHEMergeRequest:
575+
bitBucketApi mergedMergeRequest.
576+
577+
578+
"When"
579+
bitBucketImporter importMergeRequestStats: mergeRequest.
580+
581+
"Then"
582+
self assert: mergeRequest mergedCommit equals: nil
583+
]
584+
396585
{ #category : #tests }
397586
BitBucketModelImporterTest >> testImportMergeRequestsSinceUntil [
398587

@@ -431,6 +620,43 @@ BitBucketModelImporterTest >> testImportMergeRequestsSinceUntil [
431620
self assert: mergeRequest closed_at equals: nil.
432621
]
433622

623+
{ #category : #tests }
624+
BitBucketModelImporterTest >> testImportMergeRequestsSinceUntilAttachedToGoodProject [
625+
626+
| bitBucketApi glphModel bitBucketImporter group repo project mergeRequests |
627+
"Given"
628+
bitBucketApi := BitBucketApiMock new.
629+
630+
glphModel := GLHModel new name: 'test'.
631+
632+
bitBucketImporter := BitBucketModelImporter new
633+
repoApi: bitBucketApi;
634+
glhModel: glphModel.
635+
636+
group := GLHGroup new id: 1.
637+
repo := GLHRepository new.
638+
project := GLHProject new
639+
group: group;
640+
id: 'repo-slug';
641+
repository: repo.
642+
glphModel add: project.
643+
644+
"When"
645+
mergeRequests := bitBucketImporter
646+
importMergeRequests: project
647+
since: '09-23-2024'
648+
until: '09-25-2024'.
649+
650+
"Then"
651+
self
652+
assert:
653+
(bitBucketImporter glhModel allWithType: GLHMergeRequest) size
654+
equals: 1.
655+
656+
self assert: project mergeRequests size equals: 1.
657+
658+
]
659+
434660
{ #category : #tests }
435661
BitBucketModelImporterTest >> testImportMergeRequestsSinceUntilClosedMR [
436662

src/BitBucketHealth-Model-Importer-Tests/BitBucketProjectsMock.class.st

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,12 @@ BitBucketProjectsMock >> all [
99

1010
^self projectsMock
1111
]
12+
13+
{ #category : #api }
14+
BitBucketProjectsMock >> get: aString [
15+
"string from https://docs.atlassian.com/bitbucket-server/rest/5.9.0/bitbucket-rest.html#idm29457918096"
16+
17+
| content |
18+
content := '{"key":"PRJ","id":1,"name":"My Cool Project","description":"The description for my cool project.","public":true,"type":"NORMAL","links":{"self":[{"href":"http://link/to/project"}]}}'.
19+
^ (NeoJSONReader on: content readStream) next
20+
]

src/BitBucketHealth-Model-Importer-Tests/BitbucketPullRequestsMock.class.st

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,9 @@ BitbucketPullRequestsMock >> commitsOf: pullRequestId inRepository: repositorySl
2121

2222
^ commitsMock
2323
]
24+
25+
{ #category : #'api - get' }
26+
BitbucketPullRequestsMock >> diffOf: commitId inRepository: repositorySlug ofProject: projectKey [
27+
28+
^ diffs
29+
]

0 commit comments

Comments
 (0)