github.com/rehabaam/TDBackend@v0.0.0-20231117190225-f9f7c226e96f/services/common_test.go (about)

     1  package commands
     2  
     3  import (
     4  	"bytes"
     5  	"encoding/json"
     6  	"fmt"
     7  	"net/http"
     8  	"net/http/httptest"
     9  	"os"
    10  	"strings"
    11  	"testing"
    12  	"time"
    13  
    14  	"github.com/rehabaam/TDBackend/logger"
    15  
    16  	"github.com/gorilla/mux"
    17  )
    18  
    19  func Test_readFile(t *testing.T) {
    20  	logger.Init("debug", time.RFC3339, "TDBackend")
    21  
    22  	os.Chdir("../")
    23  
    24  	type args struct {
    25  		endPoint string
    26  	}
    27  	tests := []struct {
    28  		name    string
    29  		args    args
    30  		want    string
    31  		wantErr bool
    32  	}{
    33  		{
    34  			name: "getKit_Success",
    35  			args: args{
    36  				endPoint: "Kit",
    37  			},
    38  			want: `[
    39  				{
    40  					"id": "1",
    41  					"url": "https://images.squarespace-cdn.com/content/v1/5679680d2399a3acd195c64e/1623501020384-GJYROM88JEGSSNYTU6DS/ke17ZwdGBToddI8pDm48kIY9XMijbNp5oh3Amrd02-EUqsxRUqqbr1mOJYKfIPR7LoDQ9mXPOjoJoqy81S2I8PaoYXhp6HxIwZIk7-Mi3Tsic-L2IOPH3Dwrhl-Ne3Z2hmbgTVhMEoAcv2ODUGwXknK0vl1tv8aASOUMAN9pVXEKMshLAGzx4R3EDFOm1kBS/image001.png?format=1000w"
    42  				}
    43  			]`,
    44  			wantErr: false,
    45  		},
    46  	}
    47  	for _, tt := range tests {
    48  		t.Run(tt.name, func(t *testing.T) {
    49  			got, err := readFile(tt.args.endPoint)
    50  			if (err != nil) != tt.wantErr {
    51  				t.Errorf("readFile() error = %v, wantErr %v", err, tt.wantErr)
    52  				return
    53  			}
    54  			if !strings.EqualFold(jsonMarshaller(got), jsonMarshaller(tt.want)) {
    55  				t.Errorf("readFile() = %v, want %v", got, tt.want)
    56  			}
    57  		})
    58  	}
    59  }
    60  
    61  func Test_getImage(t *testing.T) {
    62  	logger.Init("debug", time.RFC3339, "TDBackend")
    63  
    64  	r := httptest.NewRequest(http.MethodGet, "http://localhost:8080/api/v1/img/FFMC.jpg", nil)
    65  	r = mux.SetURLVars(r, map[string]string{"name": "FFMC.jpg"})
    66  
    67  	type args struct {
    68  		w http.ResponseWriter
    69  		r *http.Request
    70  	}
    71  	tests := []struct {
    72  		name    string
    73  		args    args
    74  		want    int
    75  		wantErr bool
    76  	}{
    77  		{
    78  			name: "getFFMC_Success",
    79  			args: args{
    80  				w: httptest.NewRecorder(),
    81  				r: r,
    82  			},
    83  			want:    381170,
    84  			wantErr: false,
    85  		},
    86  	}
    87  	for _, tt := range tests {
    88  		t.Run(tt.name, func(t *testing.T) {
    89  			got, err := getImage(tt.args.w, tt.args.r)
    90  			if (err != nil) != tt.wantErr {
    91  				t.Errorf("getImage() error = %v, wantErr %v", err, tt.wantErr)
    92  				return
    93  			}
    94  			if got != tt.want {
    95  				t.Errorf("getImage() = %v, want %v", got, tt.want)
    96  			}
    97  		})
    98  	}
    99  }
   100  func Test_loadFileToMemory(t *testing.T) {
   101  	logger.Init("debug", time.RFC3339, "TDBackend")
   102  
   103  	tests := []struct {
   104  		name string
   105  	}{
   106  		{
   107  			name: "getKit_Success",
   108  		},
   109  	}
   110  	for _, tt := range tests {
   111  		t.Run(tt.name, func(t *testing.T) {
   112  			loadFileToMemory()
   113  		})
   114  	}
   115  
   116  	fNames = []string{"Sessions2"}
   117  
   118  	loadFileToMemory()
   119  
   120  }
   121  
   122  func jsonMarshaller(str string) string {
   123  	buffer := new(bytes.Buffer)
   124  	if err := json.Compact(buffer, []byte(str)); err != nil {
   125  		fmt.Println(err)
   126  	}
   127  
   128  	return buffer.String()
   129  }