github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/model/plugin_valid_test.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  
     4  package model
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestIsValidPluginId(t *testing.T) {
    13  	t.Parallel()
    14  
    15  	testCases := map[string]bool{
    16  		"":    false,
    17  		"a":   false,
    18  		"ab":  false,
    19  		"abc": true,
    20  		"abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij":  true,
    21  		"abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij1": false,
    22  		"../path":     false,
    23  		"/etc/passwd": false,
    24  		"com.mattermost.plugin_with_features-0.9": true,
    25  		"PLUGINS-THAT-YELL-ARE-OK-2":              true,
    26  	}
    27  
    28  	for id, valid := range testCases {
    29  		t.Run(id, func(t *testing.T) {
    30  			assert.Equal(t, valid, IsValidPluginId(id))
    31  		})
    32  	}
    33  }