# Pynt for Go

## **What is Go?**

{% hint style="info" %}
💡 [**Go**](https://golang.org/) is a statically typed, compiled programming language designed for simplicity, reliability, and efficiency. Popular for building scalable web services, Go's concurrency features make it ideal for large-scale applications. It’s used extensively in cloud infrastructure, microservices, and API development. With its performance and ease of use, Go is a top choice for backend developers looking to build high-performance APIs and systems.
{% endhint %}

<figure><img src="https://3462681674-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZKwBF6q0tAGXlIih38HL%2Fuploads%2F2g0jGWv5ZFf3ywhGYG1E%2Fimage.png?alt=media&#x26;token=7cb001f0-22d2-4b13-a6d6-ab61aa75c6b9" alt="" width="188"><figcaption><p>Golang</p></figcaption></figure>

***

## **Pynt's integration with Go**

Pynt’s [API security testing](https://docs.pynt.io/documentation/api-security-testing) suite integrates seamlessly with Go, enabling secure, high-performance development and testing of APIs in Go applications.

If your functional tests are written in Go, you can use Pynt command to run API Security tests from these functional tests.

***

## Quick start

1. First, make sure Pynt's [prerequisites](https://docs.pynt.io/documentation/api-security-testing/prerequisites-for-running-pynt-scans) are met.
2. Follow the instructions to install Pynt container [here](https://docs.pynt.io/documentation/api-security-testing/how-to-install-pynt-cli).
3. Then, continue with the below example.

***

## Example

[test\_goat.go](https://raw.githubusercontent.com/pynt-io/pynt/main/goat_functional_tests/goat_test.go) is a go based tester for goat (our vulnerable application) that we use to test the functionality of goat, here is how to run it:

1. Get test\_goat.go

{% code overflow="wrap" %}

```bash
curl https://raw.githubusercontent.com/pynt-io/pynt/main/goat_functional_tests/goat_test.go -o goat_test.go
```

{% endcode %}

2. Get testify

```bash
go get github.com/stretchr/testify
```

3. go mod

```bash
go mod init goat_test.go
go mod tidy
```

4. Check that functional test works

```bash
go test
```

5. Run Pynt on functional test

```bash
pynt command --cmd "go test"
```

***

## SSL Support

#### Automatic Self-signed certificates

Pynt can automatically set your go test to use self signed certificate. use the flag `--self-signed`

```bash
pynt command --cmd "<your test command>" --self-signed
```

***

{% hint style="info" %}
💡 **Pynt CLI Troubleshooting**: If you're encountering issues with Pynt's CLI, visit the [**Pynt CLI Troubleshooting Guide**](https://docs.pynt.io/documentation/api-security-testing/pynt-scans-troubleshooting/pynt-cli-troubleshooting) for solutions and troubleshooting tips.
{% endhint %}

{% hint style="info" %}
💡 **Still Need Help?** For any questions or troubleshooting, reach out to the [**Pynt Community Support**](https://www.pynt.io/community).
{% endhint %}
