@@ -35,8 +35,11 @@ def run(self):
3535 self .t .start ()
3636
3737 # Explicitly use localhost as the target host, since connecting to 0.0.0.0 fails on Windows
38- address = ('localhost' , server .server_address [1 ])
39- self .gb = GraphiteBridge (address , self .registry , _timer = fake_timer )
38+ self .address = ('localhost' , server .server_address [1 ])
39+ self .gb = GraphiteBridge (self .address , self .registry , _timer = fake_timer )
40+
41+ def _use_tags (self ):
42+ self .gb = GraphiteBridge (self .address , self .registry , tags = True , _timer = fake_timer )
4043
4144 def test_nolabels (self ):
4245 gauge = Gauge ('g' , 'help' , registry = self .registry )
@@ -56,6 +59,16 @@ def test_labels(self):
5659
5760 self .assertEqual (b'labels.a.c.b.d 1.0 1434898897\n ' , self .data )
5861
62+ def test_labels_tags (self ):
63+ self ._use_tags ()
64+ labels = Gauge ('labels' , 'help' , ['a' , 'b' ], registry = self .registry )
65+ labels .labels ('c' , 'd' ).inc ()
66+
67+ self .gb .push ()
68+ self .t .join ()
69+
70+ self .assertEqual (b'labels;a=c;b=d 1.0 1434898897\n ' , self .data )
71+
5972 def test_prefix (self ):
6073 labels = Gauge ('labels' , 'help' , ['a' , 'b' ], registry = self .registry )
6174 labels .labels ('c' , 'd' ).inc ()
@@ -65,6 +78,16 @@ def test_prefix(self):
6578
6679 self .assertEqual (b'pre.fix.labels.a.c.b.d 1.0 1434898897\n ' , self .data )
6780
81+ def test_prefix_tags (self ):
82+ self ._use_tags ()
83+ labels = Gauge ('labels' , 'help' , ['a' , 'b' ], registry = self .registry )
84+ labels .labels ('c' , 'd' ).inc ()
85+
86+ self .gb .push (prefix = 'pre.fix' )
87+ self .t .join ()
88+
89+ self .assertEqual (b'pre.fix.labels;a=c;b=d 1.0 1434898897\n ' , self .data )
90+
6891 def test_sanitizing (self ):
6992 labels = Gauge ('labels' , 'help' , ['a' ], registry = self .registry )
7093 labels .labels ('c.:8' ).inc ()
@@ -73,3 +96,13 @@ def test_sanitizing(self):
7396 self .t .join ()
7497
7598 self .assertEqual (b'labels.a.c__8 1.0 1434898897\n ' , self .data )
99+
100+ def test_sanitizing_tags (self ):
101+ self ._use_tags ()
102+ labels = Gauge ('labels' , 'help' , ['a' ], registry = self .registry )
103+ labels .labels ('c.:8' ).inc ()
104+
105+ self .gb .push ()
106+ self .t .join ()
107+
108+ self .assertEqual (b'labels;a=c__8 1.0 1434898897\n ' , self .data )
0 commit comments