MCPcopy Index your code
hub / github.com/cortexproject/cortex / TestSharding

Function TestSharding

pkg/ruler/ruler_test.go:1887–2438  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1885}
1886
1887func TestSharding(t *testing.T) {
1888 const (
1889 user1 = "user1"
1890 user2 = "user2"
1891 user3 = "user3"
1892 )
1893
1894 user1Group1 := &rulespb.RuleGroupDesc{User: user1, Namespace: "namespace", Name: "first"}
1895 user1Group2 := &rulespb.RuleGroupDesc{User: user1, Namespace: "namespace", Name: "second"}
1896 user2Group1 := &rulespb.RuleGroupDesc{User: user2, Namespace: "namespace", Name: "first"}
1897 user3Group1 := &rulespb.RuleGroupDesc{User: user3, Namespace: "namespace", Name: "first"}
1898
1899 // Must be distinct for test to work.
1900 user1Group1Token := tokenForGroup(user1Group1)
1901 user1Group2Token := tokenForGroup(user1Group2)
1902 user2Group1Token := tokenForGroup(user2Group1)
1903 user3Group1Token := tokenForGroup(user3Group1)
1904
1905 noRules := map[string]rulespb.RuleGroupList{}
1906 allRules := map[string]rulespb.RuleGroupList{
1907 user1: {user1Group1, user1Group2},
1908 user2: {user2Group1},
1909 user3: {user3Group1},
1910 }
1911
1912 // ruler ID -> (user ID -> list of groups).
1913 type expectedRulesMap map[string]map[string]rulespb.RuleGroupList
1914
1915 type testCase struct {
1916 sharding bool
1917 shardingStrategy string
1918 replicationFactor int
1919 shuffleShardSize float64
1920 setupRing func(*ring.Desc)
1921 enabledUsers []string
1922 disabledUsers []string
1923 expectedRules expectedRulesMap
1924 expectedBackupRules expectedRulesMap
1925 }
1926
1927 const (
1928 ruler1 = "ruler-1"
1929 ruler1Host = "1.1.1.1"
1930 ruler1Port = 9999
1931 ruler1Addr = "1.1.1.1:9999"
1932
1933 ruler2 = "ruler-2"
1934 ruler2Host = "2.2.2.2"
1935 ruler2Port = 9999
1936 ruler2Addr = "2.2.2.2:9999"
1937
1938 ruler3 = "ruler-3"
1939 ruler3Host = "3.3.3.3"
1940 ruler3Port = 9999
1941 ruler3Addr = "3.3.3.3:9999"
1942 )
1943
1944 testCases := map[string]testCase{

Callers

nothing calls this directly

Calls 15

NewInMemoryClientFunction · 0.92
GetCodecFunction · 0.92
StartAndAwaitRunningFunction · 0.92
NewDescFunction · 0.92
tokenForGroupFunction · 0.85
sortTokensFunction · 0.85
newMockRuleStoreFunction · 0.85
buildRulerFunction · 0.85
AddIngesterMethod · 0.80
listRulesMethod · 0.80
userTokenFunction · 0.70
RunMethod · 0.65

Tested by

no test coverage detected