https://github.com/jhnvlglmlbrt/mailslurp-emailapi
π« ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈe Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MailSlurp Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ. Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΡΡΠΈΠΊΠΈ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ API.
https://github.com/jhnvlglmlbrt/mailslurp-emailapi
api automation console-application email-inbox golang mailslurp testing
Last synced: 9 months ago
JSON representation
π« ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈe Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MailSlurp Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ. Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΡΡΠΈΠΊΠΈ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ API.
- Host: GitHub
- URL: https://github.com/jhnvlglmlbrt/mailslurp-emailapi
- Owner: Jhnvlglmlbrt
- License: mit
- Created: 2023-08-03T11:51:59.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-29T18:43:32.000Z (almost 3 years ago)
- Last Synced: 2023-08-30T03:50:22.100Z (almost 3 years ago)
- Topics: api, automation, console-application, email-inbox, golang, mailslurp, testing
- Language: Go
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ΠΡΠΎΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΠΎΡΡΠΎΠ²ΡΡ
ΡΡΠΈΠΊΠΎΠ² Π½Π° MailSlurp Ρ ΠΏΠΎΠΌΠΎΡΡΡ API
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΡΡΠΎΠ²ΡΡ
ΡΡΠΈΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ API ΡΠ΅ΡΠ²ΠΈΡΠ° MailSlurp.
***
### Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
- Go 1.20
- ΠΠΊΠΊΠ°ΡΠ½Ρ ΠΈ API-ΠΊΠ»ΡΡ Ρ ΡΠ°ΠΉΡΠ° [Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΠΉΡ](https://www.mailslurp.com)
***
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Go (Π²Π΅ΡΡΠΈΡ 1.20 ΠΈΠ»ΠΈ Π²ΡΡΠ΅) - [Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ](https://go.dev/doc/install).
2. Π‘ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° Π²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ:
```bash
git clone https://github.com/Jhnvlglmlbrt/MailSlurp-CreatingEmail
3. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
```bash
cd MailSlurp-CreatingEmail
4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
```bash
go get
5. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ API-ΠΠ»ΡΡ - [Π‘ΡΡΠ»ΠΊΠ°](https://app.mailslurp.com/dashboard/)
6. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ "Your API-key" Π½Π° Π²Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ API-ΠΊΠ»ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ createClient.
```bash
apiKey := "Your API-key"
7. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ:
```bash
go run main.go
***
### Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠΈΡΡΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΌ, Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ.
ΠΠΎΡ ΠΎΠ±Π·ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡ
ΡΠΎΠ»Π΅ΠΉ:
- cmd/main.go:
ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ API, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ ΡΠ΅ΡΠ²ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ²ΡΡ
ΡΡΠΈΠΊΠΎΠ².
Π ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π³Π»Π°Π²Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Π²Ρ
ΠΎΠ΄Π° ΠΈ ΡΠ²ΡΠ·ΡΡΡΠΈΠΌ Π·Π²Π΅Π½ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ.
- controllers/inbox_controller.go:
Π ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΡΡΠΈΠΊΠ°ΠΌΠΈ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ»ΡΠΆΠΈΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.
ΠΠ½ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
- services/inbox_service.go:
Π ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ΅ΡΠ²ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΡΡΠΈΠΊΠ°ΠΌΠΈ.
Π‘Π΅ΡΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ.
ΠΠ½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ API.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ»ΠΎΠΈ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»ΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ:
1. Π‘Π»ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (Presentation Layer): ΠΠ΄Π΅ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ main.go. ΠΡΠΎΡ ΡΠ»ΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π΅Π½ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Π½Π΅ΡΠ½ΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΌΠΈΡΠΎΠΌ ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
2. Π‘Π»ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ (Business Logic Layer): ΠΠ΄Π΅ΡΡ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ controllers/inbox_controller.go ΠΈ services/inbox_service.go.
ΠΡΠΎΡ ΡΠ»ΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π΄Π°Π½Π½ΡΠΌΠΈ.
3. Π‘Π»ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
(Data Layer): Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π΅Ρ ΡΠ²Π½ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΡ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½ Π²Π½ΡΡΡΠΈ MailSlurp API.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π²Π°Ρ Π±ΡΠ»Π° Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΈΡ
ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.